jQuery Globalize插件-获取本地化格式/更改格式-未按预期工作



我正在尝试将float从一种文化转换为另一种文化,但似乎在网上找不到任何适合我的东西。问题是:

  1. 我有一个参数来自特定文化中的外部资源(web服务)
  2. 结果被发送到MVC应用程序,并根据当前区域性设置进行验证

这意味着在将数据发送到服务器进行处理之前,我必须以某种方式从静态区域性("en-US")转换为客户端上选择的任何内容,因此来自客户端的所有数据都在一个区域性上。

我相信全球化jQuery插件(GitHub)将提供这种功能,在给定的文化中开箱即用地格式化数字(和日期),但似乎没有。

我尝试过的:使用全球化插件,设置Globalize.culture属性,并希望Globalize.format(Globalize.parseFloat("1.2435677777", 10, "en-US")))使用所需的十进制分隔符格式化值。然而,它似乎对我不起作用。

如果有人能指出我做错了什么,并给出一个更好的工作榜样,那就太好了。

因为Globalize.format()函数总是返回一个"."十进制分隔符,据我所知,有一个小技巧的解决方案,但至少它有效。重点是将"中性"小数分隔符替换为当前区域性的分隔符

Globalize.parseFloat("1.2435677777", 10, "en-US").toString().replace(".", Globalize.cultures[Globalize.cultureSelector].numberFormat["."]) 

如果我为format函数指定了一种格式,则对我有效。

Globalize.culture("sv");
Globalize.format(Globalize.parseFloat("1.2435677777", 10, "en-US"), "N");

给出:"1,24"

最新更新