如何在mvc中将十进制字段值转换为货币
How to convert decimal field value to currency in mvc
在我看来,我有一些编辑喜欢关注
@Html.EditorFor(Model => Model.CashBalance)
现在当我在那个编辑器中输入任何值时,该值应该在文本框更改事件中更改为货币值
例如:
123 应显示为 123.00
14.35 应显示为 14.35
我想以通用方式执行此操作,这样我就不需要在每个地方都更改它,因为我的项目有很多编辑器需要用户输入。
因为我对所有这些文本框都使用了 EditorTemplate,所以我想在这里自己处理。
我的 EditorTemplate 是 decimal.cshtml 看起来像 foll
@model decimal?
@{
string value = (Model.HasValue == false || Model.Value == 0) ? "" : string.Format("{0:0.00}", Model.Value);
}
@Html.TextBox(
"",
value,
new { @class="amountRightAlign"}
)
我是否可以在此处编写任何文本更改事件,以便它影响有 decimal 数据类型的地方?
提前致谢?
Html 助手是用于生成发送到客户端的 html 的服务器端代码。为了在浏览器中与用户变化交互,需要使用javascript来处理事件。
在您的情况下,您不需要 EditorTemplate
。相反,只有 TextBoxFor()
的 overload 接受格式字符串
@Html.TextBoxFor(m => m.CashBalance, "{0:0.00}", new { @class="decimalnumber" })
然后在视图中,或者在单独的脚本文件中
$('.decimalnumber').change(function () {
var num = new Number($(this).val());
if (isNaN(num)) {
// Its not a valid number
return;
}
$(this).val(num.toFixed(2));
})
在我看来,我有一些编辑喜欢关注
@Html.EditorFor(Model => Model.CashBalance)
现在当我在那个编辑器中输入任何值时,该值应该在文本框更改事件中更改为货币值
例如: 123 应显示为 123.00 14.35 应显示为 14.35
我想以通用方式执行此操作,这样我就不需要在每个地方都更改它,因为我的项目有很多编辑器需要用户输入。
因为我对所有这些文本框都使用了 EditorTemplate,所以我想在这里自己处理。
我的 EditorTemplate 是 decimal.cshtml 看起来像 foll
@model decimal?
@{
string value = (Model.HasValue == false || Model.Value == 0) ? "" : string.Format("{0:0.00}", Model.Value);
}
@Html.TextBox(
"",
value,
new { @class="amountRightAlign"}
)
我是否可以在此处编写任何文本更改事件,以便它影响有 decimal 数据类型的地方?
提前致谢?
Html 助手是用于生成发送到客户端的 html 的服务器端代码。为了在浏览器中与用户变化交互,需要使用javascript来处理事件。
在您的情况下,您不需要 EditorTemplate
。相反,只有 TextBoxFor()
的 overload 接受格式字符串
@Html.TextBoxFor(m => m.CashBalance, "{0:0.00}", new { @class="decimalnumber" })
然后在视图中,或者在单独的脚本文件中
$('.decimalnumber').change(function () {
var num = new Number($(this).val());
if (isNaN(num)) {
// Its not a valid number
return;
}
$(this).val(num.toFixed(2));
})