JavaScript:像 .NET 的 String.Format() 那样根据文化格式化数字/货币?

发布于 2024-08-09 07:35:27 字数 385 浏览 2 评论 0原文

这似乎是一个有人在 2009 年就已经解决的问题,但我找不到一个像样的 JavaScript 库,它需要一个像这样的数字:

12345.58

并根据特定的文化(即“nl-nl”正确地格式化它) ") 或 ISO 货币代码。

dojo 表现出了希望,但它默认不包含许多文化,并且实际上在我的测试中无法正常工作。

当我运行

String.Format([cultureInfo Object], "{0:N}", myValue) ' 对于数字

字符串 时,我基本上想要 100% 或接近 100% 相当于 .NET 为我所做的事情.Format([cultureInfo Object], "{0:C}", myValue) ' 对于货币

This seems like a problem someone would've already solved in the year 2009, but I can't find a decent JavaScript library that will take a number like:

12345.58

And format it correctly based on a specific culture (ie, "nl-nl") or ISO currency code.

dojo showed promise, but it doesn't include many cultures by default, and actually wasn't working properly in my tests.

I basically want something that is 100% or near-100% equivalent to what .NET does for me, when I run:

String.Format([cultureInfo Object], "{0:N}", myValue) ' for numbers

and

String.Format([cultureInfo Object], "{0:C}", myValue) ' for currency

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怎言笑 2024-08-16 07:35:27

ASP.NET Ajax 框架可以让您做到这一点。

在 ScriptManager 上设置 EnableScriptGlobalization 属性为真。然后,您可以使用 Number.localeFormat 函数来设置数字格式。

The ASP.NET Ajax framework lets you do this.

Set the EnableScriptGlobalization property on the ScriptManager to true. You can then use the Number.localeFormat function to format numbers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文