Perl数字格式

时间:2017-05-19 16:36:44

标签: perl format

我如何格式化例如:

100000为1000.00

90为0.90

使用Perl?

我发现并尝试了一些模块,例如Locale::Currency::FormatNumber::Format,但没有任何效果:/

使用Locale::Currency::Format我尝试:

use Locale::Currency::Format;
my $total = 19750;
my $convert = currency_format('USD',$total,'FMT_COMMON');
print $convert;

我预计197.50,但印刷品是" 19,750.00美元"。

2 个答案:

答案 0 :(得分:5)

my $formatted = sprintf '%.2f', $number/100.0;

以美元计算美元,而不是美分。如果你想使用代表便士的整数来避免舍入误差,那就太好了;良好的做法。但是由你来划分100以获得标准格式的人工清晰输出。

sprintf函数( s tring print f ormatted,最初来自C标准库,现在可以在许多编程中找到语言)将以各种方式格式化数字。在这种情况下,格式字符串%.2f请求输出 f loating-point(即十进制,小数,实数,非整数)数字,小数点后2位数。

答案 1 :(得分:3)

要将美分兑换成美元,除以100!

sprintf("%.2f", $total/100)                        # 197.50

currency_format('USD', $total/100, 'FMT_COMMON')   # 197.50 USD