gpt4 book ai didi

javascript - 舍入到最接近的十的幂

转载 作者:数据小太阳 更新时间:2023-10-29 05:43:56 24 4
gpt4 key购买 nike

我有一个数字,我需要将它四舍五入到最接近的十的幂。看起来这应该可以在没有一大堆 if 语句或使用递归或循环的情况下实现,但我不知道最优雅的方法。如果不清楚我的意思,这里有一些例子:

f(1) === 1
f(5) === 1
f(15) === 10
f(43) === 10
f(456) === 100
f(999) === 100

澄清一下:我不需要最接近的 10 的倍数(不是:10、20、30...),而是最接近的 10 的幂(10、100、1000...)。

编辑:据我所知,这不是一个重复的问题。请停止重复询问四舍五入到十的最接近的倍数的问题。这个问题与链接的问题无关,因为它询问四舍五入到最接近的十的。如果您想将此问题作为重复问题关闭,请查找并链接重复问题。当前链接的问题在我发布问题后大约 30 秒被评论,有人没有阅读整个问题,只是评论提示它是重复的。那个人已经删除了他的评论(在意识到他错了之后),尽管你可以看到我和其他人的评论都指出这不是重复的。

最佳答案

您可以取 10 的对数并取 10 的幂的整数值。

function f(v) {
return Math.pow(10, Math.floor(Math.log10(v)));
}

console.log(f(1)); // 1
console.log(f(5)); // 1
console.log(f(15)); // 10
console.log(f(43)); // 10
console.log(f(456)); // 100
console.log(f(999)); // 100

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com