C# でロケール固有の 10 進数を確実に処理する
C# で 10 進数の文字列を double に解析するのは、ロケール規則が異なるため難しい場合があります。 double.Parse()
メソッドは便利ですが、システムの現在のカルチャに依存しているため、潜在的なエラーが発生します。
たとえば、システムのカルチャで小数点区切り文字としてカンマが使用されている場合、「3.5」を解析すると、3.5 ではなく 35 が返される可能性があります。 同様に、カルチャが別の区切り文字を予期している場合、double.Parse("3.5", System.Globalization.NumberStyles.AllowDecimalPoint)
を使用すると FormatException
で失敗する可能性があります。
解決策は CultureInfo.InvariantCulture
を使用することです。このカルチャは、ロケールに依存しない一貫した形式を提供し、システムの設定に関係なく正しい解釈を保証します。
確実に解析する方法は次のとおりです:
double.Parse("3.5", CultureInfo.InvariantCulture);
このアプローチにより、小数点が常に正しく解釈されることが保証され、ロケール固有の 10 進文字列を処理するための堅牢なソリューションが提供されます。 このテクニックは、多様なソースや海外のユーザーからのデータを扱うアプリケーションにとって非常に重要です。
以上がC# でロケール固有の 10 進数文字列を Double に確実に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。