sub digitize
{
my $v = shift or return '0';
$v =~ s/(?<=^\d)(?=(\d\d\d)+$) #处理不含小数点的情况
|
(?<=^\d\d)(?=(\d\d\d)+$) #处理不含小数点的情况
|
(?<=\d)(?=(\d\d\d)+\.) #处理整数部分
|
(?<=\.\d\d\d)(?!$) #处理小数点后面第一次千分位,例子中就是.127后面的逗号
|
(?<=\G\d\d\d)(?!\.|$) #处理小数点后第一个千分位以后的内容,或者不含小数点的情况
/,/gx;
return $v;
}