Sé que esta es una pregunta para novatos, pero la respuesta puede no ser obvia para muchos programadores nuevos. No fue inicialmente obvio para mí, así que busqué en Internet buscando módulos Perl para hacer esta simple tarea.¿Cómo puedo convertir entre notación científica y decimal en Perl?
5
A
Respuesta
17
sprintf hace el truco
use strict;
use warnings;
my $decimal_notation = 10/3;
my $scientific_notation = sprintf("%e", $decimal_notation);
print "Decimal ($decimal_notation) to scientific ($scientific_notation)\n\n";
$scientific_notation = "1.23456789e+001";
$decimal_notation = sprintf("%.10g", $scientific_notation);
print "Scientific ($scientific_notation) to decimal ($decimal_notation)\n\n";
genera esta salida:
Decimal (3.33333333333333) to scientific (3.333333e+000)
Scientific (1.23456789e+001) to decimal (12.3456789)
3
En un tema relacionado, si desea convertir entre la notación decimal y engineering notation (que es una versión de la notación científica) , el módulo Number::FormatEng de CPAN es útil:
use Number::FormatEng qw(:all);
print format_eng(1234); # prints 1.234e3
print format_pref(-0.035); # prints -35m
unformat_pref('1.23T'); # returns 1.23e+12
Cuestiones relacionadas
- 1. ¿Cómo convertir una cadena de notación científica a notación decimal?
- 2. ¿Cómo puedo convertir números en notación científica?
- 3. convertir notación científica script bash
- 4. compacto Comportamiento de formato numérico en Java (cambia automáticamente entre notación decimal y científica)
- 5. ¿Admite Decimal.Parse() notación científica?
- 6. Display valor flotante w/o notación científica
- 7. Convertir a partir de la notación científica a decimal con ggplot
- 8. ¿Cómo mostrar siempre un objeto BigDecimal en formato decimal completo en lugar de notación científica?
- 9. de formato de cadena en notación científica
- 10. ¿Cómo puedo desactivar la notación científica cuando trabajo con números muy grandes en Perl?
- 11. Convertir de cadena de notación científica a float en C#
- 12. Extracción notación científica de flotación
- 13. ¿Cómo puedo convertir el decimal? a decimal
- 14. Java DecimalFormat notación científica Pregunta
- 15. Formato doble valor en notación científica
- 16. Regex para números en notación científica?
- 17. ¿Cómo se evita la notación científica para números grandes?
- 18. ¿Cómo convertir números entre hexadecimal y decimal en C#?
- 19. Apagar la notación científica en el flotador
- 20. Cómo obtener el exponente de la notación científica en Matlab
- 21. notación científica de matriz de matlab
- 22. cadena en notación C. científica ++ a doble conversión
- 23. Diferencia entre decimal y decimal
- 24. número de notación científica de matlab
- 25. apagar la notación científica en Gson doble serialización
- 26. Convertir una cadena que contiene un número en notación científica a un doble en PHP
- 27. Cómo convertir una cadena que contiene notación científica para corregir el formato de número de Javascript
- 28. Anotación de notación científica (de varchar -> numérico) en una vista
- 29. Cambiando el color del desplazamiento en notación científica en matplotlib
- 30. Python notación científica usando D en lugar de E
Tuve que usar "% .10f" para obtener el valor decimal, ya que "g" lo mantuvo en notación científica. Estoy usando Perl v5.10.1 en Ubuntu. Buen post, gracias! – Alan
No pude hacer que 'sprintf' funcione, pero' printf' y '% .10f' en lugar de' g' funcionaron bien. Perl versión 5.14.2. – terdon