因为 某字段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(",","");

  }