このフィドルは、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を報告するため、ロードされるGlobalizeカルチャは上記のフィドルのように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);
};
}