这个小提琴在 IE 和 FF 中返回正确的“5,5”值,但在 Chrome 中它返回“5.5”
小提琴:http: //jsfiddle.net/4tvSH/
Globalize.culture("sv-SE");
alert(Globalize.format(5.5));
Globalize 插件中是否存在错误?
编辑:
这很奇怪,在 Web.Config (MVC3) 我有这个
<globalization enableClientBasedCulture="true" />
这意味着客户端设置了文化,chrome和FF都报告sv-SE,所以加载的全球化文化是sv-SE,就像上面的小提琴一样。
但是如果我在 Chrome 的第 767 行调试上面的代码
return culture.name.length ? value.toLocaleString() : value.toString();
value.toLocaleString() 将返回 en-US 格式
这行得通,但它是一个黑客..
//Fixes a bug in Globalize/Chrome where Globalize.format returns en-US format even with sv-SE
if($.browser.webkit == true) {
Globalize.orgFormat = Globalize.format;
Globalize.format = function(value, format) {
if(format == null) {
format = "N";
}
return this.orgFormat(value, format);
};
}