javascript - 舍入 n * 10 的算法

标签 javascript algorithm math

我正在尝试找到一种算法来产生:

45 => 100
458 => 1000
8456 => 10000

我想以这种方式“舍入”,我查看了 Math.round() 但我认为这还不够。

最佳答案

对于一行代码,你可以按照 Rup 所说的去做。以 10 为底的对数将为您提供最接近的 10 的幂,然后对日志结果的上限进行十次方

var x = 45;

Math.pow(10, Math.ceil(Math.log(x) / Math.LN10));

关于javascript - 舍入 n * 10 的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18729540/

相关文章:

javascript - 如何动态读取按钮文本?

javascript - jquery 使用复选框禁用文本框(带复选框的多个文本框)

java - 缺少日期范围

C 数学库 - float 计算错误?

javascript - 将变量值传递回 Controller 的angularJs方法是什么

javascript - Controller 方法从未被调用?

algorithm - 查找可以为我的所有项目提供服务的最小节点数

在简单图中查找 'maximal' 独立集的算法

python - 许多数组的插值的矢量化总和

algorithm - 机器人方形网格交点