下面是我的十进制变量:
my $variable = 1.0;
当我尝试打印变量时,
print "$variable\n";
我得到了 1.0。
但是,如果我将其传递给函数:
&printvariable("$variable\n");
sub printvariable()
{
print "My variable is: @_";
}
现在,它打印为,My variable is: 1
为什么这个十进制值在函数中被四舍五入?有没有办法打印函数中的值?
下面是我的十进制变量:
my $variable = 1.0;
当我尝试打印变量时,
print "$variable\n";
我得到了 1.0。
但是,如果我将其传递给函数:
&printvariable("$variable\n");
sub printvariable()
{
print "My variable is: @_";
}
现在,它打印为,My variable is: 1
为什么这个十进制值在函数中被四舍五入?有没有办法打印函数中的值?
你说的不是真的。
$ perl -e'my $variable=1.0; print "$variable\n";'
1
$variable=1.0;,$variable=1;并且$variable= 4-3;都将数字1分配给$variable, 并且插值将11字符串化为。它无法知道产生值 was 1.0or的代码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