首页 > 解决方案 > 在项目整体 C#、ASP.net mvc 中使用逗号作为小数分隔符

问题描述

我在 ASP.Net MVC 5 中有一个项目。我想在整个软件中使用德文十进制格式。我在 Web 配置中设置了全球化“de-DE”,并在所有控制器继承的基本控制器中覆盖了“BeginExecuteCore”。

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="de-DE" uiCulture="de-DE"/>


protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state)
    {
        CultureInfo culture = new CultureInfo("de-DE", true);
        culture.NumberFormat.NumberDecimalSeparator = ",";
        Thread.CurrentThread.CurrentCulture = culture;
        Thread.CurrentThread.CurrentUICulture = culture;
        return base.BeginExecuteCore(callback, state);
    }

此外,我在 Windows 中将区域格式更改为“德语”。当我将十进制传递给控制器​​时它起作用了。实际上软件只允许带逗号的小数,不允许带点。但是,当我使用 EF 从数据库中获取十进制时,使用 Dot 获取并使用 Dot 在 UI 中加载。我需要在整个软件中以所有十进制数字显示逗号。怎么了?

标签: c#.netsql-serverasp.net-mvcentity-framework

解决方案


我找到了解决方案。如果我在整个项目的 JQuery 代码中使用 toLocaleString("de") (用于德语),问题将得到解决。但我正在寻找一种解决方案,能够通过在整个项目中更改一个参数来对项目进行多语言化并更改逗号。


推荐阅读