在我的数据库中,我存储了数据类型为decimal
的字段。我在ASP.NET应用程序中使用完全相同的(decimal
)数据类型。
这是在我的视图内部,以便显示值。
@Html.TextBoxFor(model => model.Stock, new { id = "Stock", @class = "k-textbox" })
这很简单。我面临的唯一问题是,默认情况下,在我的视图中,数据以4个小数位显示。
我为您提供一些有关其外观和外观的示例:
1,0000 => 1
1,2000 => 1,2
1,4300 => 1,43
1,8920 => 1,892
1,5426 => 1,5426
如您所见,我想将所有
0
截断为小数位(仅在视图中显示时)。记住:我使用逗号而不是小数点。
编辑:
我的模特
public class Article
{
public decimal? Stock{ get; set; }
}
最佳答案
您可以这样使用{0:G29}
:
@{
string temp = string.Format("{0:G29}", decimal.Parse(Model.Stock.ToString()));
@Html.TextBoxFor(model => temp)
}
或使用字符串插值:
@{
string temp = $"{decimal.Parse(Model.Stock.ToString()):G29}";
@Html.TextBoxFor(model => temp)
}
编辑:
保存后无法在
Controller
中获取值的原因是,模型绑定程序找不到名称为temp
的属性。您可以使用TextBox
代替TextBoxFor
来解决此问题,如下所示:string temp = $"{decimal.Parse(Model.Stock.ToString()):G29}";
@Html.TextBox("Stock" , temp)
或者,如果您仍然想使用
TextBoxFor
,则可以将temp
变量重命名为Stock
:string Stock = string.Format("{0:G29}", decimal.Parse(Model.Stock.ToString()));
@Html.TextBoxFor(model => Stock)