.NET Core 3.0で実装される浮動小数点のパースおよびフォーマット方法の変更

情報源: .NET Blog | Floating-Point Parsing and Formatting improvements in .NET Core 3.0

一々翻訳することは止めますが、Windows / Linuxとの非互換性の削除、およびIEEE 754 – 2008準拠のため、.NET Core 3.0では浮動小数点のパース、およびフォーマットの実装があらためられます。

もともと浮動小数点は「実数」を扱うため、この変更が既存コードに大きな影響を与えるようなことにはならないと考えますが、代表的なところではMath.PI.ToString()の結果が既存の.NET Frameworkとは異なります。このようにフォーマット指定しないToString()の結果に依存していたり、文字列として設定ファイルやレジストリに保存された定数値、特に小数点以下桁数が多いものに依存するようなアプリケーションでは、.NET Core 3.0への移行時には、注意するとともに検証する必要があると考えられます。また、自身ではそのような実装をしていない場合でも、XMLやJSONのようなテキストデータからのデシリアライズ結果にも同様の影響があると思われるので、同様に注意・検証が必要でしょう。