阿里簡單面試題
今天在羣裏見到一個簡單的阿里面試題,遂做,記錄一下
輸入一個數字 整數位每隔三位插入一個逗號 小數點後保存兩位 輸入的不是數字返回“-”
看到這道題應該立馬就有思路了
想到了正則,於是拿了 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;
}
小記。