送信されたフォーム情報に問題があります。 FirefoxやSafariではなく、Interner ExplorerやChromeから返された文字列を解析しようとすると、小数点の解析が失敗します。文字列はVisual Studioでまったく同じに見えます。私はこのデバッグビットを作っ:MVC3:送信文字列 - IEおよびChromeで解析が失敗する
var asd3 = collection["formValue"]; // Get it from the FormCollection
var asd4 = asd3.Replace(",", "."); // Change the punctuation
var asd5 = Decimal.Parse(asd4); // Make the string into a decimal
var asd6 = Math.Round(asd5, 1); // Round it
エラーでasd4
のうち、小数点以下を解析しようとすると、それはasd5
に失敗:Input string was not in a correct format.
ここでは、文字列の画像です。トップはFirefoxとInternet Explorerの下にあります。
地球上でここで何が問題になるだろうか?
常に特定のカルチャ情報を使用して数値を解析します。例: 'Decimal.Parse(number、new CultureInfo( "en-US"))'。両方の例で入力が「5.5」の場合は、カルチャ情報を指定すると失敗しません。 –