我如何格式化这个例子:
100000为1000.00
和
90为0.90
用Perl?
我发现,用像一些模块尝试Locale::Currency::Format和Number::Format,但没有工作:/
随着Locale::Currency::Format我尝试:
use Locale::Currency::Format;
my $total = 19750;
my $convert = currency_format('USD',$total,'FMT_COMMON');
print $convert;
Run Code Online (Sandbox Code Playgroud)
我预计197.50但是印刷品是"19,750.00美元".
my $formatted = sprintf '%.2f', $number/100.0;
Run Code Online (Sandbox Code Playgroud)
在美元,我们数美元,而不是美分.如果你想使用代表便士的整数来避免舍入错误,那就太好了; 良好的做法.但是由你来划分100以获得标准格式的人工清晰输出.
该sprintf功能(小号特林打印 ˚F ormatted,最初是从C标准库,现在在许多编程语言中出现)将以多种方式格式化数字.在这种情况下,格式字符串%.2f请求输出小数点后2位数的f loating-point(即十进制,小数,实数,非整数)数.