Javascript round()、toFixed() 和 toPrecision() 是不正确的
Javascript round(), toFixed() and toPrecision() is incorrect
我在javascript中玩弄这3个函数,直到我注意到它们都给出了不正确的舍入值。让我们说以下塞纳里奥
var x = 1.49849;
Math.round(x) //return 1, but from what I learnt from school it should be 2, right?
x.toFixed() //return 1 too! same as rounding
x.toFixed(3) //return 1.498, shouldn't it be 1.499?
x.toFixed(4) //return 1.4985, at least this is working correctly....
我尝试了 toPrecision() 它与 toFixed() 基本相同。
看起来 javascript 中的四舍五入只考虑一个数字,而忽略了小数点的其余部分。
这种类型的Senario有什么javascript解决方法吗?
我知道我总是可以在服务器端做到这一点,但让我们只专注于javascript。
不,你错了。
1.49849 舍入到最接近的整数是 1,因为小数点后的第一个数字是 4,小于 5。
1.49849 四舍五入到小数点后的三位数字是 1.498,因为第 4 位是 4。
仅当您舍入的第一个数字为 5 或更高时,才会向上舍入。在某些金融舍入系统中,精确一半的四舍五入到最接近的偶数,因此 2.5 舍入为 2,但 3.5 舍入为 4。
相关文章:
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- Amazon S3 REST API大小不正确
- Javascript Reg Exp不正确匹配
- DIV并排,位置不正确
- 仅在IE中,javascript中的时区名称不正确
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- 你能解释一下为什么这个javascript不正确吗
- 从int值来看,Javascript日期不正确
- jQuery-迭代不正确?(太长,无法执行)
- 字符串解析不正确
- 日历显示不正确
- 引导程序下拉列表显示不正确
- Node.js:多个然后'It’执行顺序不正确
- Highcharts热图显示不正确
- Firefox使用JQuery返回不正确的JSON
- 尝试在两次迭代中警告同一选择器的值,在第一次迭代中得到正确的值,而在第二次迭代中获得不正确的值.为什么?
- Mongoose响应解析不正确
- 由于布尔值的变化,Django视图中的字符串格式不正确
- 递归函数返回不正确
- Javascript round()、toFixed() 和 toPrecision() 是不正确的