我正在构建一个支持法语的基于Web的应用程序。 在ASP.NET中,我将Thread.CurrentThread.CurrentCulture设置为fr-FR。一切都在ASP.NET中以法语格式工作,这很棒。 但是,如果我有如下代码,我会遇到ASP.NET和Javascript之间的不兼容问题:
var value = <%:Model.Amount%>;
var total = value * 12;
以上内容将呈现为:
var value = 1023,00;
var total = value * 12;
从浏览器中收到以下错误消息:
未捕获的SyntaxError:意外的数字
有没有告诉浏览器使用哪种语言环境?我尝试了“接受语言”元标记,但没有帮助。
注意:我不是在寻找如何在没有文化的情况下将十进制值渲染到屏幕中,并且非常了解:
<%:Convert.ToString(Model.Amount, new System.Globalization.CultureInfo(""))%>
我正在寻找一种方法来告诉浏览器我的语言环境是什么,这样我就不必浏览项目的所有页面,看看哪些内容正在破坏并改变它们。
答案 0 :(得分:0)
你试过accounting.js http://josscrowcroft.github.io/accounting.js/
吗?accounting.js是一个用于数字,货币和货币格式的小型JavaScript库,带有可选的excel样式列呈现(排列符号和小数)。它是轻量级的,完全可以本地化,并且没有依赖性。
或
<%:Model.Amount.ToString("N2", CultureInfo.CreateSpecificCulture("en-US").Replace(",", "")%>