1

数値プロパティ (double) を持つオブジェクトがあり、特定のカルチャ セットはありません。このプロパティは、ユーザーが Web サイトにログインしたときにデータベースから取得されます。データベースのカルチャ形式は en-GB です。

プロパティが呼び出され、Web サイトのラベルに戻ると、数値がローカル カルチャ形式で表示されます。

私の質問は、オブジェクト プロパティは en-GB カルチャ形式を保持し、ブラウザはそれをローカル カルチャ形式で表示するだけですか、それとも、オブジェクトは実際にそのプロパティをユーザーのローカル カルチャ形式で保存しますか?

さまざまな文化 (多言語サイト) の数値形式を扱うのに苦労しています。これらの数値やユーザーが入力したその他の数値に基づいて計算を行う必要があるため、これらの種類のプロパティをどのように処理する必要があるのか​​ 疑問に思いました。 Web サイトでは、ローカル形式でユーザーに表示されますが、データは常にローカル形式 (en-GB) でデータベースに送信されます。

4

2 に答える 2

2

宿泊施設にはカルチュアは保管されていません。Thread.CurrentUICultureフォーマットは、サーバー側のカルチャであるに基づいています。

ASP.NETWebサイトを開発していると仮定します。

CultureInfo culture = new CultureInfo(Request.UserLanguages[0]);
return double.Parse("1.5", culture.NumberFormat);

これは、クライアントによって提供されたカルチャ設定を使用してdoubleを変換します。

詳細については、http://www.hanselman.com/blog/GlobalizationInternationalizationAndLocalizationInASPNETMVC3JavaScriptAndJQueryPart1.aspxをご覧ください。

于 2013-03-15T11:33:12.530 に答える
1

数値自体は単なる数値です。数値の書式設定は、その数値のテキスト表現をユーザーにどのように提示するかによって異なります。

ユーザー入力からの数値の解析は、ユーザーが値を入力できるようにする方法によって異なります。入力文字列の文化を知っている限り、それを解析して実際の数値に戻すことができます。これは文化に依存しません。

于 2013-03-15T11:38:40.100 に答える