如何舍入以下值以从双精度值中删除连续的9。.Net框架和.net核心中的重要数字舍入方式不同。
使用下面的代码通过将值5.9E-12传递给12位有效数字,将双精度值四舍五入为有效数字
private static double RoundToSignificantDigits(double d, int digits) { if (d == 0) return 0; double scale = Math.Pow(10, Math.Floor(Math.Log10(Math.Abs(d))) + 1); return scale * Math.Round(d / scale, digits); }
。Net核心结果:5.8999999999999995E-12.Net Framework结果:5.9E-12
如何在.Net核心中获得类似.Net框架的结果
如何舍入以下值以从双精度值中删除连续的9。 .NET框架和.net核心中的重要数字舍入方式不同。使用下面的代码对...
仍不清楚您要达到什么目标。但是您不能正确地将任何十进制数字表示为double
值。