見一道阿里簡單面試題

阿里簡單面試題

今天在羣裏見到一個簡單的阿里面試題,遂做,記錄一下

輸入一個數字 整數位每隔三位插入一個逗號 小數點後保存兩位 輸入的不是數字返回“-”

看到這道題應該立馬就有思路了

想到了正則,於是拿了 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;
}

小記。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章