为了账号安全,请及时绑定邮箱和手机立即绑定

如何将Javascript中的小数位数圈到1位?

如何将Javascript中的小数位数圈到1位?

holdtom 2019-07-12 19:02:00
如何将Javascript中的小数位数圈到1位?你能在小数点后将javascript中的数字舍入为1字符(适当的四舍五入)吗?我试过*10,圆形,/10,但它在整数末尾留下两个小数点。
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

Math.round( num * 10) / 10工作这里有个例子.。

var number = 12.3456789;var rounded = Math.round( number * 10 ) / 10;// rounded is 12.3

如果您希望它有一个小数位,即使是0,那么添加.

var fixed = rounded.toFixed(1);// fixed is always to 1dp// BUT: returns string!
// to get it back to number formatparseFloat( number.toFixed(2) )// 12.34// but that will not retain any trailing zeros
// so, just make sure it is the last step before output,// and use a number format during calculations!

编辑:添加具有精确功能的圆.

根据这一原则,这里有一个方便的小圆函数,它需要精度.

function round(value, precision) {
    var multiplier = Math.pow(10, precision || 0);
    return Math.round(value * multiplier) / multiplier;}

..使用.。

round(12345.6789, 2) // 12345.68round(12345.6789, 1) // 12345.7

..默认值为整到最近的整数(精度0).

round(12345.6789) // 12346

..可以用来旋转到最近的10或100等等.

round(12345.6789, -1) // 12350round(12345.6789, -2) // 12300

..正确处理负数.。

round(-123.45, 1) // -123.4round(123.45, 1) // 123.5

..并且可以与toFixed合并为一致的字符串格式.

round(456.7, 2).toFixed(2) // "456.70"


查看完整回答
反对 回复 2019-07-12
?
aluckdog

TA贡献1847条经验 获得超7个赞

var number = 123.456;console.log(number.toFixed(1)); // should round to 123.5


查看完整回答
反对 回复 2019-07-12
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

如果你用Math.round(5.01)你会得到5而不是5.0.

如果你用toFixed你碰到四舍五入 问题.

如果你想把两者结合起来:

(Math.round(5.01 * 10) / 10).toFixed(1)

您可能希望为此创建一个函数:

function roundedToFixed(_float, _digits){
  var rounder = Math.pow(10, _digits);
  return (Math.round(_float * rounder) / rounder).toFixed(_digits);}


查看完整回答
反对 回复 2019-07-12
  • 3 回答
  • 0 关注
  • 502 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信