如何在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}")

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...