12.256852651
のようなdouble
値があり、12.257
として文字列型に変換せずに浮動小数点数として表示したい。
C#でどうすればよいですか?
最初にDecimal
に変換してから、Math.Round
結果について。この変換は厳密に必要というわけではありませんが、2進浮動小数点を使用しているときに小数位に丸めると、少し不安になります。
Math.Round((Decimal)f, 3, MidpointRounding.AwayFromZero)
また、 MidpointRounding
の選択も検討する必要があります。デフォルトでは、これはBankerのラウンドを使用するためです。
あなたがそれを表示したい場合、それは文字列になり、それはあなたが使用する必要があるものです。
後で計算で使用するためにroundにする場合は、Math.Round((decimal)myDouble, 3)
を使用します。
計算に使用するつもりはないが、displayする必要がある場合は、double.ToString("F3")
を使用します。