将整数转换为十进制Perl

ovn*_*tar 1 perl

我需要转换以下整数数字

29900
17940
1
Run Code Online (Sandbox Code Playgroud)

以十进制格式表示

299.00
179.40
0.01
Run Code Online (Sandbox Code Playgroud)

我已经尝试过Data/Types.pm但是to_decimal(1,2)返回1.00

sim*_*que 12

Perl没有整数,浮点数或字符串意义上的数据类型.您需要做的就是除以100.如果您想要一个带有两位小数的输出,请使用sprintf它来格式化它.

printf '%.02d', 29900 / 100;
Run Code Online (Sandbox Code Playgroud)

会输出299.00.请注意,printf就像sprintf,但打印而不是返回.

您可以阅读perldata以了解有关Perl具有哪些数据的更多信息.


在XS和C层的引擎盖下,当然有数据类型.你可以在perlguts中了解它们.但更高级语言的重点是将这些东西抽象出来.因此,如果您所做的只是编写Perl代码,那么您永远不需要关心那些存在或它们如何工作.