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. 浮點舍入檢測
- 7. C#浮點舍入行爲
- 8. Ruby中的舍入浮點數
- 9. 適用於Android的舍入浮點數
- 10. Knockout.Validation中的浮點舍入錯誤
- 11. 四捨五入浮點數的問題
- 12. 浮點舍入的潛在問題
- 13. 防止輸入[type = number]自動舍入浮點值
- 14. 浮點值四捨五入到一個值小數
- 15. iphone浮點數與整數舍入?
- 16. MIPS(彙編) - 如何舍入浮點數?
- 17. 十六進制浮點舍入
- 18. 向上舍入浮點數bash
- 19. 舍入一個浮點數在objective-c
- 20. 如何減少C/C++浮點舍入
- 21. 浮點計算和四捨五入
- 22. 如何在MIPS中舍入浮點數?
- 23. 在Verilog中舍入浮點數?
- 24. IEEE-754浮點數舍入機制
- 25. 在字典中舍入浮點數字
- 26. 四捨五入整數浮點朝0
- 27. 浮點四捨五入libLAS Python API
- 28. 將大浮點數舍入爲整數
- 29. 浮點0.2 + 0.1舍入誤差
- 30. 四捨五入浮點數列表?
Math.Round(value,3)http://msdn.microsoft.com/en-us/library/75ks3aby.aspx – FailedDev
你是什麼意思,而不是一個字符串格式?您將數字格式化爲字符串以顯示它,是不是? –
也許它是通過一個數字(json,說)。除了轉換爲字符串以在UI中顯示之外,它可能需要存儲爲數字客戶端。只是基於類似的使用情況在這裏猜測。 –