因為 某字段Amt 在數據表的字段類型為:numeric(18,6)
所有簡單的經過實體類處理 public decimal Amt { get { return _Amt; } set { _Amt = value; } }
當用戶在界面輸入: 50
存儲到數據庫及讀出來直接顯示 成了 50.000000
為了在MVC的View中 正確顯示Model的值 做了如下處理:
1、通過 htmlAttributes的 Value 來設置值
2、通過對數字的TrimEnd來去除無效的零 及 小數點
示例代碼如下:
<%=Html.TextBoxFor(m => m.Amt
, htmlAttributes: new { maxlength = 5, style = "width:60px;" , Value = Model.Amt.ToString().NumberStringTrimEndZero() })%>
public static string NumberStringTrimEndZero(this String s) {
//return s.Contains(".") ? s.TrimEnd('0').TrimEnd('.') : s;
double num = double.Parse(s.Replace(",", ""));
return num.ToString("n").Replace(",","");
}