0

1/3 のような単純な割り算で、割り算結果から小数点以下 3 桁だけを抜き出したいのですが、どうすればよいでしょうか?

4

2 に答える 2

2

spritnfでそれを行うことができます:

my $rounded = sprintf("%.3f", 1/3);

これは thissprintfの目的ではありませんが、機能します。

ドットの後の 3 桁だけが必要な場合は、数学計算で行うことができます。

my $num = 1/3;
my $part;
$part = $1 if $num=~/^\d+\.(\d{3})/;
print "3 digits after dot: $part\n" if defined $part;
于 2012-12-25T11:04:39.837 に答える
0

sprintf といくつかのパターン マッチングを使用します。詳細。

my $str;
my $num = 1/3;
my $res = sprintf("%.3f\n",$num);
($str = $res) =~ s/^0\.//;
print "$str\n";
于 2012-12-25T10:53:06.723 に答える