javascript - 四舍五入到最接近的

标签 javascript

如果数字是 37,我希望它四舍五入到 40,如果数字是 1086,我希望它四舍五入到 2000。如果数字是 453992,我希望它四舍五入到 500000。

抱歉,我真的不知道如何更笼统地描述这个,但基本上,最高位的数字应该总是四舍五入到最接近的数字,其余的都变成零。我知道如何正常舍入,我只是不知道如何干净地处理位数之间的变化。

谢谢,

编辑:我删除了第 4 到 10 轮,因为那轮似乎与其余轮不相符,而且也没有必要。

最佳答案

假设所有值都是正整数:

function roundUp(x){

    var y = Math.pow(10, x.toString().length-1);

    x = (x/y);
    x = Math.ceil(x);
    x = x*y;
    return x;
}

现场演示: http://jsfiddle.net/fP7Z6/

关于javascript - 四舍五入到最接近的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15906148/

相关文章:

javascript - 如何允许用户在不经过身份验证/登录过程的情况下查看我的 Google Analytics 图表数据

javascript - Kendo UI 下拉列表过滤器问题

javascript - 如何获取弹出窗口打开的窗口的标题?

javascript - 从 AngularJS 中 $scope 上定义的另一个函数调用 $scope 上定义的函数

javascript - AngularJS : index not updating after removing array item(s) by index

javascript - 在 PHP 中解码 javascript 数组

Cef 扩展脚本的 Javascript 全局变量

javascript - 如何通过 MUI 5 SX 属性使用多个 CSS 类?

javascript - Microsoft.AspNet.Web.Optimization JavaScript 捆绑无法缩小模板文字

javascript - 不要使用 Stripe 收集邮政编码