在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. 替代方法
- 4. ParMap方法替代方法
- 5. 棄用com.apple.eawt.ApplicationListener的替代方法有什麼替代方法
- 6. 替代socket.accept()方法
- 7. Thread.sleep()方法替代
- 8. Strstr替代方法
- 9. sqlceengine.compact方法替代
- 10. 替代方法.hasNextInt?
- 11. 替代方法V3
- 12. 替代arcTo方法?
- 13. 替代方法creationcomplete
- 14. sizeWithFont的替代方法:方法
- 15. jQuery .html()方法的替代方法?
- 16. CONTAINS方法的替代方法?
- 17. Excel Interop的替代方法SaveAs()方法
- 18. Thread.Suspend()方法的替代方法
- 19. jsp中PrintStacktrace()方法的替代方法
- 20. ajax的替代方法?
- 21. PyGObject的替代方法?
- 22. CString :: Format的替代方法?
- 23. XMLHttpRequest的替代方法?
- 24. cellForRowAtIndexPath的替代方法
- 25. 替代的console.SetCursorPosition方法
- 26. Object.assign的替代方法(... array)
- 27. django.db.close_connection()的替代方法
- 28. error_get_last()的替代方法
- 29. javax.persistence的DuplicateKeyException替代方法
- 30. setClip()的替代方法
有什麼不對Math.round()? – Greg
其任務,我們必須做,而不使用math.round –
這可以通過使用Math中的其他函數或使用字符串格式來實現。 –