次のスクリプトでは、小数部分と最初の 2 つの小数部分、および 0 より大きい場合は 3 番目の部分を維持しようとしています
。
#!/usr/bin/perl
use strict;
use warnings;
my $price = 12.37500000000392;
print "price = $price \n";
$price =~ s/([0-9]+)(\.[1-9]{2}[1-9]?)\d*?/$1$2/;
print "1 = $1 \n";
print "2 = $2 \n";
print "price = $price \n";
しかし、うまくいきません。
それは$1
is12
と$2
isを示していますが、最終的な価格は最後のステートメントのように.375
まだ印刷されています12.37500000000392
print