如何在Perl中使用sprintf获取小数点后2位的浮点变量,而不进行四舍五入

如何在Perl中使用sprintf获取小数点后2位的浮点变量,而不进行四舍五入,perl,Perl,考虑: my $var = 37.43745; my $res = sprintf("%.2f",$var); print $res; 上述代码将输出为37.44。但我只希望输出为37.43。如何在Perl脚本中使用sprintf获得它 $var= int($var*100)/100; 我想这将是最简单的解决方案。如果第二个小数位为零,这将显示一个小数位。@hochgurgler同意,但OP没有具体说明如果第二个小数位为零,这将显示两个小数位。如果输入为37.30,这将返回37.29。 my

考虑:

my $var = 37.43745;
my $res = sprintf("%.2f",$var);
print $res;
上述代码将输出为37.44。但我只希望输出为37.43。如何在Perl脚本中使用sprintf获得它

$var= int($var*100)/100;

我想这将是最简单的解决方案。

如果第二个小数位为零,这将显示一个小数位。@hochgurgler同意,但OP没有具体说明如果第二个小数位为零,这将显示两个小数位。如果输入为37.30,这将返回37.29。
my $var = 37.43745;

my $res = sprintf("%.2f", int($var * 100) / 100);

print $res;