问题描述
我尝试在vb.net中写出数字5991除以2987的结果,没有舍入小数点或浮点数,严格等于小数点后12位上的2.005691329092。小数部分 (0.05691329092) 也以科学记数法记为 17/2987。我的测试总是让我四舍五入 2.005691329093!
2 17/2987
解决方法
实际值是正确的,问题是如何格式化值以按预期显示它。
没有内置方法,但您可以将 value 乘以所需的小数点后位数并截断它。
Dim value As Double = 5991.0 / 2987.0
value = Math.Truncate(value * Math.Pow(10,12)) / Math.Pow(10,12)
Console.WriteLine($"Result: {value:F12}")