2
class Program
{
    static void Main(string[] args)
    {
        string str = "0.898";
        double dbl = Double.Parse(str);

        dbl++;

        Console.WriteLine(dbl);
        Console.ReadLine();
    }
}

「100」作品など、私が取り組む必要がある他のすべてのフォーマット。しかし、「ドット」を追加するとすぐにFormatExceptionエラーが発生します。

4

1 に答える 1

8

多分試してください:

double dbl = double.Parse(str , CultureInfo.InvariantCulture);

ideoneでここをチェック

あなたの問題は、あなたの文化がドットを許可していないことです。インバリアント カルチャが唯一の解決策ではありません。カルチャを指定して、そのセパレータを使用することもできます。現在の文化がコンマのみをセパレータとして受け入れる場合、ドットをコンマに置き換えることも解決策になる可能性があります。カルチャを明示的に指定しないと、異なるカルチャを実行している異なるマシンで数値を解析する際の問題に影響します。

文化固有のものはすべて常に注意が必要であり、可能な限り正確に定義する必要があります。使用する double 形式が正確にわかっている場合は、それを定義します。使用する日付形式がわかっている場合は、それを指定します。

于 2014-01-09T08:37:25.827 に答える