阿里简单面试题
今天在群里见到一个简单的阿里面试题,遂做,记录一下
输入一个数字 整数位每隔三位插入一个逗号 小数点后保存两位 输入的不是数字返回“-”
看到这道题应该立马就有思路了
想到了正则,于是拿了 perl
sub process_number {
my ($str) = @_;
unless($str =~ m/\d+/){
return '-';
}
unless($str =~ m/\./g){
$str = $str . '.00';
} else {
$str = sprintf "%.2f", $str
}
$str =~ s/(?<=\d)(?=(?:\d{3})+?\.)/,/g;
$str;
}
小记。