如何在Perl中将数字转换为多个表单?
发布时间:2020-12-15 21:53:17 所属栏目:大数据 来源:网络整理
导读:你知道一个简单直接的方法/子/模块,它允许我将一个数字(比如1234567.89)转换成一个易读的形式 – 比如1.23M吗? 现在我可以通过几次比较来做到这一点,但我对我的方法不满意: if($bytes 1000000000){ $bytes = ( sprintf( "%0.2f",$bytes/1000000000 )). " G
你知道一个简单直接的方法/子/模块,它允许我将一个数字(比如1234567.89)转换成一个易读的形式 – 比如1.23M吗?
现在我可以通过几次比较来做到这一点,但我对我的方法不满意: 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"; } 谢谢您的帮助! 解决方法
Number::Bytes::Human模块应该能够帮助你.
可以在其概要中找到如何使用它的示例: use Number::Bytes::Human qw(format_bytes); $size = format_bytes(0); # '0' $size = format_bytes(2*1024); # '2.0K' $size = format_bytes(1_234_890,bs => 1000); # '1.3M' $size = format_bytes(1E9,bs => 1000); # '1.0G' # the OO way $human = Number::Bytes::Human->new(bs => 1000,si => 1); $size = $human->format(1E7); # '10MB' $human->set_options(zero => '-'); $size = $human->format(0); # '-' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |