数値を表示しているASP.net MVC Webサイトがあります。ユーザーのコンピュータがカンマまたは小数点記号としてポイントを使用するように設定されているかどうかをどういう方法で判断できますか?ASP MVCの小数点記号の決定方法
私はRequest.UserLanguagesでさまざまな言語をチェックできましたが、小数点記号の決定にはあまり正確ではありません。
数値を表示しているASP.net MVC Webサイトがあります。ユーザーのコンピュータがカンマまたは小数点記号としてポイントを使用するように設定されているかどうかをどういう方法で判断できますか?ASP MVCの小数点記号の決定方法
私はRequest.UserLanguagesでさまざまな言語をチェックできましたが、小数点記号の決定にはあまり正確ではありません。
あなたは、ブラウザの言語からCultureInfo
を取得する方法をhereを見ることができる - これは、あなたがこのように使用することができます CultureInfo
オブジェクトを取得します:
var sep = browserCulture.NumberFormat.NumberDecimalSeparator;
がCultureInfo
とNumberFormatInfo
を参照してください。
MVCには10進値の処理に問題があります。
これについてHaack氏は素晴らしいpostがあります。これを克服する方法を示します。
エンドユーザーのコンピュータについて質問しているので、答えは「いいえ」です。残念ながら、Webブラウザはあなたにそのような情報を提供しません。取得できるのはユーザーの優先言語ですが、HTTP Accept-Languageヘッダーを介してサーバーに送信されるブラウザー設定です。それでおしまい。
もしJavaScriptがあなたにそれを与えると思うなら、答えはいいえです。これはサンドボックス内で実行されるため、オペレーティングシステムにアクセスすることはできません。
Flashがこのような情報に(おそらく)アクセスできるかどうかはわかりませんが、エンドユーザーによってブロックされる可能性があります。 ActiveXコントロールの場合も同じですが、クロスプラットフォームではありません。
ウェブブラウザやフォーマット番号から検出されたカルチャに従うようにしてください。エンドユーザのOS設定の変更はサポートしていませんが、その方が簡単です。
ありがとうございます - 小数点記号が必ずしも言語に対応しているわけではないので、それはすべてのケースでうまくいかないが、私が必要とするものにかなり近いところに来る。 – Preli