我對這些功能很困惑?round()和trunc()函數有什麼區別?
2
A
回答
10
在數學中,rounding
裝置四捨五入到最接近的整數,因此,在3四捨五入3.4結果和在第4
Truncating
四捨五入3.6的結果,另一方面,是指完全移除的小數部分,因此無論是3.4或3.6結果爲3.
大多數編程語言和庫也遵循這個。
7
round()
和trunc()
,在大多數編程語言中,對應於兩個由IEEE-754標準中規定的四個基本舍入模式的。
四個舍入模式,相應的舍入函數,以及他們如何表現上的各種輸入的例子,有:
rounding mode function [1] results of rounding:
0.2 1.7 -2.6 -3.3
---------------------------------------------------------------------------------
round to nearest round() [2] 0.0 2.0 -3.0 -3.0
round to zero trunc() 0.0 1.0 -2.0 -3.0
round to +infinity ceil() 1.0 2.0 -2.0 -3.0
round to -infinity floor() 0.0 1.0 -3.0 -4.0
[1]的IEEE-754標準不要求這些名稱,並不是所有的語言都使用相同的名稱。這些僅僅是我的經驗中最常見的名字。
[2]在C和C派生語言中的round()
函數不完全對應於IEEE-754輪到最近舍入模式。具體而言,它在處理確切的中途情況方面有所不同。 C函數輪調「與零關係」,這可能是您在小學時學到的東西,但會在某些計算中引入偏差。 IEEE-754輪到最近的模式規定了四捨五入到最接近的偶數,這是不太可能在保持確定性的同時引入偏差。
相關問題
- 1. Trunc(number)和round(number)之間的區別
- 2. sql中的trunc和round函數
- 3. 函數getAddUrl和getAddToCartUrl有什麼區別?
- 4. Crypt ...和CP ...函數有什麼區別?
- 5. setInformativeText和setText函數有什麼區別?
- 6. $ get和$ find函數有什麼區別?
- 7. NtFsControlFile()和DeviceIoControl()函數有什麼區別?
- 8. java中的round()和ceil()有什麼區別
- 9. 函子和「泛型」有什麼區別
- 10. 非純函數和純函數有什麼區別?
- 11. 函數模板和模板函數有什麼區別?
- 12. 函數和函數()在C#中有什麼區別?
- 13. JavaScript:函數名稱和函數引用有什麼區別?
- 14. 函數調用和函數引用有什麼區別?
- 15. 回調函數和常規函數有什麼區別?
- 16. RegExp的exec()函數和String的match()函數有什麼區別?
- 17. async.compose函數和underscore.compose函數有什麼區別?
- 18. 線程入口函數和正常函數有什麼區別?
- 19. Swift:'Currying'和返回函數的函數有什麼區別?
- 20. 在javascript中var函數和函數有什麼區別?
- 21. submit()函數和send()JavaScript函數之間有什麼區別?
- 22. setTimeout與函數和無函數之間有什麼區別?
- 23. 調用函數和返回函數有什麼區別?
- 24. DateTime函數有什麼區別?
- 25. 這兩個函數有什麼區別?
- 26. 有什麼區別`和$(Bash中有什麼區別?
- 27. 中有什麼函數參數和參數之間......區別
- 28. 有什麼區別? :和||
- 29. &&和||有什麼區別?
- 30. 「/」和「/ *」有什麼區別?
你可以看看[Here](http://www.geekinterview.com/question_details/35094) – Megawolt 2010-05-25 10:40:37