在下面的脚本中,我试图保留小数部分和前 2 个小数部分,如果它大于 0,则保留第三个部分。
所以 12.37500000000392 应替换为 12.375
#!/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
语句一样打印