Q
浮点值的舍入
23
A
回答
41
我想先转换为Decimal
,然后在结果上使用Math.Round
。这种转换不是绝对必要的,但是如果我在使用二进制浮点的同时舍入到小数位,我总是感到有点不安。
Math.Round((Decimal)f, 3, MidpointRounding.AwayFromZero)
你也应该看看的MidpointRounding
的选择,因为它默认使用银行家的圆,这是不是你从学校来的。
+0
请记住,在将二进制(与System.Decimal相反)浮点类型四舍五入为大于“0”的小数位数时,通常“中点”不能完全表示。例如,“中点”12.2565(邻居的平均值“12.256”和“12.257”)由于其二进制扩展是无限的(周期性的)(常常是这种情况),因此不能完全表示为“双”。因此,如果想要实际击中“中点”,在舍入前尝试转换为“小数点”是一个很好的理由。 “双”在中点应该有一个“洞”。 –
8
如果你想显示它,它将是一个字符串,这就是你需要使用的。
如果您想要回合为了稍后在计算中使用它,请使用Math.Round((decimal)myDouble, 3)
。
如果您不打算在计算中使用它,但需要显示它,请使用double.ToString("F3")
。
相关问题
- 1. Python的浮点舍入
- 2. 在Ruby中舍入一个浮点值
- 3. .net解析()四舍五入浮点值
- 4. 浮点舍入检测
- 5. 下一轮浮点舍入
- 6. Ruby中的舍入浮点数
- 7. 防止输入[type = number]自动舍入浮点值
- 8. 浮点值四舍五入到一个值小数
- 9. 浮点四舍五入变化2.4
- 10. iphone浮点数与整数舍入?
- 11. 舍入一个浮点数在objective-c
- 12. 四舍五入浮点数列表?
- 13. 浮点四舍五入0.5到0
- 14. IEEE-754浮点数舍入机制
- 15. 解决浮点舍入问题C++
- 16. 向上舍入浮点数bash
- 17. 将浮点数舍入为3dp?
- 18. 在字典中舍入浮点数字
- 19. 十六进制浮点舍入
- 20. 将大浮点数舍入为整数
- 21. 在字典中舍去浮点值
- 22. 用于四舍五入浮点数值的NSNumberFormatter
- 23. Python:如何将浮点值舍入为1.20而不是1.2
- 24. Objective-c:如何四舍五入浮点值?
- 25. 浮动舍入误差
- 26. 舍入当[INT] = [浮子] + [INT]
- 27. 如何四舍五入浮点数。到小数点后两位?
- 28. 四舍五入浮点/双点有条件
- 29. 允许浮点值输入
- 30. 如何解决C++中浮点运算的舍入问题?
Math.Round(value,3)http://msdn.microsoft.com/en-us/library/75ks3aby.aspx – FailedDev
你是什么意思,而不是一个字符串格式?您将数字格式化为字符串以显示它,是不是? –
也许它是通过一个数字(json,说)。除了转换为字符串以在UI中显示之外,它可能需要存储为数字客户端。只是基于类似的使用情况在这里猜测。 –