如何在vb.net中写一个十进制数而不舍入小数点后的12位数字?

问题描述

我尝试在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}")

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...