微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

停止 Asp.Net Core 标签助手格式化数字

如何解决停止 Asp.Net Core 标签助手格式化数字

当 asp-for 格式化我的输出时,我遇到了这种情况,我输入了 5,但它显示“5,00”:

enter image description here

当我在法国时,它会放置逗号,然后不验证输入(因为我认为是格式)。

有没有办法阻止 asp.net 格式化我的数字 - 保持 5 不变,无需添加任何内容

<label asp-for="X" class="control-label"></label>
<input asp-for="X" class="form-control" />
<span asp-validation-for="X" class="text-danger"></span>

添加

[displayFormat(ApplyFormatInEditMode = false)]
public decimal X { get; set; }

但这无济于事。

我需要在我的字段中使用小数,但为什么它会单独放置逗号,然后说“格式无效”?

解决方法

当您使用 Html.DisplayFor 时会考虑 DisplayFormat,我不知道如何将数字强制为特定格式,因为您没有将其自己更改为字符串,或者可能有..

另一种方法是改变文化,美国或不变

 public ActionResult Index()
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            Thread.CurrentThread.CurrentUICulture =CultureInfo.InvariantCulture;
            return View();
        }

或者在视图中(不是很花哨)

CultureInfo.DefaultThreadCurrentCulture = new CultureInfo.InvariantCulture;
Html.DisplayFor(model => model.whatever)

我仍然不认为这解决了小数问题,它将是 4.00 而不是 4,00

如果你不想要小数,在视图模型上使用 int 或者decimal

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。