¿Conoces un método/sub/módulo fácil y directo que me permite convertir un número (digamos 1234567.89) en una forma fácil de leer, algo así como 1.23M?¿Cómo puedo convertir un número a su forma múltiple en Perl?
En este momento me puede hacer esto al hacer varias comparaciones, pero no estoy feliz con mi método:
if($bytes > 1000000000){
$bytes = (sprintf("%0.2f", $bytes/1000000000)). " Gb/s";
}
elsif ($bytes > 1000000){
$bytes = (sprintf("%0.2f", $bytes/1000000)). " Mb/s";
}
elsif ($bytes > 1000){
$bytes = (sprintf("%0.2f", $bytes/1000)). " Kb/s";
}
else{
$bytes = sprintf("%0.2f", $bytes). "b/s";
}
Gracias por su ayuda!
¿Qué pasa con el escalar superfluo ($ c)? – dland
La función escalar es una typecasts. Es una forma fácil de convertir un entero en una cadena. También elimina la ambigüedad entre el texto y las operaciones numéricas. – spoulson
Perl no se encasilla en absoluto. Cualquier operación de cadena, como el operador de concatenación, la convertirá en una cadena para usted. –