在JavaScript中,當值爲4.3時,我希望它四捨五入,如果值爲4.5或以上,則它舍入爲5.我希望所有這些都不使用Math.round()
。Math.round的替代方法()
-2
A
回答
-1
你可以做到這一點
function RoundNum(number){
var c = number % 1;
return number-c+(c/1+1.5>>1)*1
}
console.log(RoundNum(2.456));
console.log(RoundNum(102.6));
console.log(RoundNum(203.515));
2
你也可以這樣做:
round=num=>(num-~~num>=0.5?1:0)+~~num;
說明:
~~num
是一個雙位或,實際上它,以便1.5 => 1
num-~~num
獲取到下一個較小的整數的距離,所以例如刪除點後面一切5.4 => 0.4,5.6 => 0.6
一些測試用例:
相關問題
- 1. Javascript bitshift替代math.round
- 2. 替代方法
- 3. 棄用com.apple.eawt.ApplicationListener的替代方法有什麼替代方法
- 4. 替代方法creationcomplete
- 5. 替代方法.hasNextInt?
- 6. sizeWithFont的替代方法:方法
- 7. Thread.Suspend()方法的替代方法
- 8. jQuery .html()方法的替代方法?
- 9. CString :: Format的替代方法?
- 10. Thread.Sleep()的替代方法;
- 11. Object.assign的替代方法(... array)
- 12. Hibernate.createBlob(file.getInputStream())的替代方法
- 13. com.sun.org.apache.xerces.internal.dom.ElementImpl的替代方法
- 14. PyGObject的替代方法?
- 15. error_get_last()的替代方法
- 16. FileReader()的替代方法javascript
- 17. ClientScript.RegisterClientScriptBlock的替代方法?
- 18. kron的替代方法
- 19. setClip()的替代方法
- 20. javax.persistence的DuplicateKeyException替代方法
- 21. java.io.BufferedReader的J2ME替代方法?
- 22. execCommand的替代方法('underline');
- 23. Window.Print的替代方法()
- 24. Process.Start的替代方法()
- 25. XMLHttpRequest的替代方法?
- 26. Java中的替代方法
- 27. gettext的替代方法?
- 28. django.db.close_connection()的替代方法
- 29. 無法用Java替換方法代替
- 30. 靜態方法或OO替代方法?
有什麼不對Math.round()? – Greg
其任務,我們必須做,而不使用math.round –
這可以通過使用Math中的其他函數或使用字符串格式來實現。 –