今天遇到一個展示酒店價格的需求,覺得是要顯示成“¥0.00”樣式的,就做個小隨筆,將字符串裝換成帶2位小數的浮點數
代碼如下
1 string aaa = "120"; 2 string amount = string.Empty; 3 if (!string.IsNullOrEmpty(aaa) && (Regex.IsMatch(aaa, @"^[1-9]\d*|0$") || Regex.IsMatch(aaa, @"^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$"))) 4 amount = Convert.ToDecimal(aaa).ToString("F2"); 5 else 6 { 7 amount = "0.00"; 8 }
先判斷字符串是否為空,再用正則表達式判斷字符串時候可以轉換為浮點數,不然下面的convert.todecimal函數會報錯。這個正則表達式還真不好找,只好改成兩個或語句,一個判斷是否可以轉成非負整數和正浮點數,反正下面的convert轉換這種字符串都可以。如果有可以直接判斷字符串可以轉換成數字的,不管它帶不帶小數點的,可以告訴我。