以下是我的十进制变量:
my $variable = 1.0;
当我尝试打印变量时,
print "$variable\n";
我得到了1.0。
但是,如果我把它传递给一个函数:
&printvariable("$variable\n");
sub printvariable()
{
print "My variable is: @_";
}
现在,它打印为My variable is: 1
为什么函数中的小数值会四舍五入?有没有办法在函数中打印值?
答案 0 :(得分:5)
你说的不是真的。
$ perl -e'my $variable=1.0; print "$variable\n";'
1
$variable=1.0;
,$variable=1;
和$variable= 4-3;
都将一个分配给$variable
,插值字符串一个到1
。它无法知道产生值为1.0
或4-3
的代码,也不应该重要。
如果要显示小数点,请将三个字符的字符串1.0
指定给$variable
$ perl -e'my $variable = "1.0"; print "$variable\n";'
1.0
或将数字转换为该字符串。
$ perl -e'my $variable = 1.0; printf "%.1f\n", $variable;'
1.0