我無法使用通用0.5規則舍入浮點數。
讓我們準確的...我怎麼可能做出這樣的輪:使用0.5規則舍入浮點數的方法
- x.x2 - > XX
- x.x5 - > XX(或x.x中+ 1也將是不錯的)
- x.x6 - > x.x中+ 1
因此,例如:
- 1.12 - > 1.1
1.22 - > 1.2
1.15 - > 1.1(或1.2 woudl也不錯)
1.25 - > 1.2(或1.3 woudl也不錯)
1.16 - > 1.2
- 1.26 - > 1.3
我想這些方法(可能以錯誤的方式):
- NSNumberFormatter
- NSDecimalNumber
- ...
但是沒有什麼可以給結果。我總是得到一些x.x99999999的結果,或者是非常圓整的結果(過高,過低,或者偶數時,舍入的數字應該出現在上面)。
既然您提到'x.x99999999'的結果,您可以嘗試使用'%.1f'格式化程序來處理'printf'。 –
邁克說什麼;這聽起來像是經典的「浮點數是基於2而不是基於10」的問題。 – Wevah
順便說一句,「當圓整數字應該出現在上一個數字上時的偶數」是通常的做法,因此舍入不會導致一系列數字平均值的小正移。 (例如,由於x = 0.0不輪,0.0