0

下面是我的十进制变量:

my $variable = 1.0;

当我尝试打印变量时,

print "$variable\n";

我得到了 1.0。

但是,如果我将其传递给函数:

&printvariable("$variable\n");

sub  printvariable()
{
    print "My variable is: @_";
}

现在,它打印为,My variable is: 1

为什么这个十进制值在函数中被四舍五入?有没有办法打印函数中的值?

4

1 回答 1

5

你说的不是真的。

$ 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
于 2013-03-28T03:57:42.677 回答