0

stringsに変換する必要があるものがいくつかありfloatます。を使用してそうしようとするとSystem.Convert.ToSingle(MyString)、常にFormatException.

のような文字列を作成"12.123"して、数値が問題ないことを確認しようとしましたが、再び例外が発生しました。私の質問は、正しい形式は何ですか? 文字列の数値はどのような形式にする必要がありますか?

変換する多くの文字列の例: 50.105128

4

3 に答える 3

3

,セパレーターとしてa を使用するように設定されている可能性があるシステムの文化に依存している可能性があります。フォーマットを に設定すると、セパレータにInvariantCulturea が使用されます。.

Convert.ToSingle("12.123", CultureInfo.InvariantCulture)
于 2013-04-01T13:09:28.117 に答える
1

文化によって異なりますが、次のように不変式を使用できます。

Convert.ToSingle("0", System.Globalization.CultureInfo.InvariantCulture);
于 2013-04-01T13:09:32.350 に答える
0

Convert.ToSingle はカルチャに依存します。コンピューターにインストールされているカルチャでは、小数点記号がコンマと異なる場合があり、数字が 50,105128 のように見える場合があります。

代わりにこのオーバーロードを使用してください。これにより、カルチャを指定できます。

public static float ToSingle(
    Object value,
    IFormatProvider provider
)
于 2013-04-01T13:09:15.993 に答える