0

float をある文化から別の文化に変換しようとしていますが、オンラインで見つけたものは何も機能していないようです。問題は:

  1. 特定のカルチャの外部リソース (Web サービス) からのパラメーターがあります。
  2. 結果は MVC アプリケーションに送信され、現在のカルチャ設定に応じて検証されます。

これは、データが処理のためにサーバーに送信される前に、静的カルチャ (「en-US」) からクライアントで選択されたものに何らかの方法で変換する必要があることを意味します。そのため、クライアントからのすべてのデータは 1 つのカルチャにあります。

グローバリゼーション jQuery プラグイン ( GitHub ) は、既定のカルチャで数値 (および日付) を書式設定するためのこの機能を提供すると信じていましたが、そうではないようです。

私が試したこと:グローバリゼーションプラグインを使用し、Globalize.cultureプロパティを設定し、それGlobalize.format(Globalize.parseFloat("1.2435677777", 10, "en-US")))が目的の小数点記号で値をフォーマットすることを望んでいます。しかし、それは私にとってはうまくいかないようです。

誰かが私が間違っていたことを指摘し、より良い実例を示すことができれば、それは素晴らしいことです.

4

2 に答える 2

1

Globalize.format() 関数は常に「.」を返すため、小数点記号、私が理解している限り、少しハッキーな解決策がありますが、少なくとも機能します。ポイントは、「ニュートラル」の小数点記号を現在のカルチャのものに置き換えることです

Globalize.parseFloat("1.2435677777", 10, "en-US").toString().replace(".", Globalize.cultures[Globalize.cultureSelector].numberFormat["."]) 
于 2013-07-01T10:38:20.470 に答える
0

フォーマット関数のフォーマットを指定するとうまくいきます。

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

与える: '1,24'

于 2013-10-18T14:32:25.520 に答える