2011-01-28 11 views
0

私はサーバ上に10進数の型フィールドを持つテーブルを持っています。
ローカルマシンとサーバーに自分のWebサイトを公開しました。
サーバでは小数点記号として.が使用されますが、ローカルマシンでは,は小数点記号です。
,javascriptと無視しました。
,の代わりに.javascriptと書いています。
私は問題があることがわかります。
文字列を小数点まで解析する最も良い方法は何ですか?asp.net mvcのローカリゼーション

p.s:私たちは異文化を使用しているモデルでは、文字列に

を10進数フィールドを変更しました。 しかし、私は何ができますか?私はサイトで作業するたびに、私の文化をサーバー文化に変えなければなりませんか?

答えて

2

あなたは、クライアントのそれと一致するように文化を設定することができます:それは助けていません

<system.web> 
    <globalization culture="auto" uiCulture="auto" /> 
    ... 
+0

はい、あなたは正しいです。昨日、私はグローバル化についてC#の本を読んだ。そして、web.configファイルのグローバリゼーションセクションについて書かれました。私はそれを試して、それは私を助ける。あなたもTahnks。それは私にとって最終的な答えです – AEMLoviji

0

異なる文化によって引き起こされる可能性があります。

あなたは、名前空間System.Globalization

Double d = 0; 
Double.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out d); 

または

Double d = Double.Parse("1,0", NumberStyles.Any, CultureInfo.InvariantCulture); 

を使用することができます。

+0

ありませんが。私が値として "1.10"を掲示すれば、それは私に "1,10"を与えます。しかし、私が値として "1,10"を掲示すると、それは私に "110"を与えます。どちらのメソッドでも – AEMLoviji

+0

私はあなたのCultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparatorがカンマ "、"であり、CultureInfo.InvariantCulture.NumberFormat.NumberDecimalSeparatorはドット "。"になります。 しかし、InvariantCultureでは、コンマはNumberGroupSeparatorです。 したがって、数字の形式を標準化するか、string.Replaceを使用する必要があります。 – kerrubin

関連する問題