總結一下,在數字中增加逗號的方法,把一般情況都考慮之中.提供思路給大家參考下
#!/usr/bin/perl use strict; use warnings; my $num = 1234556789; #純數據模式 $num =~ s/(?<=\d)(?=(\d{3})+$)/,/g; print $num,"\n"; #帶有小數點模式 $num = 123456.1234; $num =~ s/(?<!\.\d)(?<=\d)(?=(\d{3})+\b)/,/g; print $num,"\n"; #大於5位之后。。。 #\K 模式,可變長否定向后環視;\K容許在它之前的模式只匹配而不被替換。替換操作只對\K之后的字符串部分有效。 $num = 123456.12345; $num =~ s/(?<!\.)(?:\b|\G)\d+?\K(?=(\d{3})+\b)/,/g; print $num,"\n";
OUTPUT:
1,234,556,789
123,456.1234
123,456.12345