如何在perl中打印十进制变量

时间:2013-03-28 03:46:48

标签: perl

以下是我的十进制变量:

my $variable = 1.0;

当我尝试打印变量时,

print "$variable\n";

我得到了1.0。

但是,如果我把它传递给一个函数:

&printvariable("$variable\n");

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

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

为什么函数中的小数值会四舍五入?有没有办法在函数中打印值?

1 个答案:

答案 0 :(得分:5)

你说的不是真的。

$ perl -e'my $variable=1.0; print "$variable\n";'
1

$variable=1.0;$variable=1;$variable= 4-3;都将一个分配给$variable,插值字符串一个1。它无法知道产生值为1.04-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