0

以下は私の10進変数です:

my $variable = 1.0;

変数を印刷しようとすると、

print "$variable\n";

1.0になりました。

しかし、同じものを関数に渡すと:

&printvariable("$variable\n");

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

現在、次のように印刷しています。My variable is: 1

関数でこの 10 進数値が四捨五入されるのはなぜですか? 関数内の値をそのまま出力する方法はありますか?

4

1 に答える 1

5

あなたの言ったことは真実ではありません。

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

$variable=1.0;$variable=1;およびすべてに番号1$variable= 4-3;割り当て、補間は1を に文字列化します。値を生成したコードがまたはであることを知る方法はありません。$variable11.04-3

小数点を表示する場合は、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 に答える