Math.ceil 到位置 1 处最接近的五位
好吧......
我有很多不受控制的数字想要四舍五入:
51255 -> 55000
25 -> 25
9214 -> 9500
13135 -> 15000
25123 -> 30000
我尝试将数字修改为字符串并计算长度......
但是是否有一种简单的方法使用一些数学函数?
Okay....
I have a lot of uncontrolled numbers i want to round:
51255 -> 55000
25 -> 25
9214 -> 9500
13135 -> 15000
25123 -> 30000
I have tried modifying the numbers as string and counting length....
But is there a simple way using some Math function maybe?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这是我迟来的答案。不使用
Math
方法。演示: http://jsbin.com/ujamoj/edit#javascript, live
或者这可能更干净一点:
DEMO: http://jsbin.com/idowan/edit#javascript,live
要分解它:
或者为了避免逻辑运算符,而只使用算术运算符,我们可以这样做:
并传播它出一点:
Here's my late answer. Uses no
Math
methods.DEMO: http://jsbin.com/ujamoj/edit#javascript,live
Or this is perhaps a bit cleaner:
DEMO: http://jsbin.com/idowan/edit#javascript,live
To break it down:
Or to avoid logical operators, and just use arithmetic operators, we could do:
And to spread it out a bit:
还针对 10 以下的数字进行了更新。对于负数也无法正常工作,如果需要,请提及。
演示
Also updated for numbers below 10. Won't work properly for negative numbers either, just mention if you need this.
DEMO
我不知道为什么,但我认为正则表达式会很有趣:
工作演示
I'm not sure why, but I thought it would be fun with regular expressions:
Working Demo
http://jsfiddle.net/NvvGf/4/
注意:仅适用于自然数。
http://jsfiddle.net/NvvGf/4/
Caveat: only works for the natural numbers.
奇怪的是,我不久前写过类似的东西!
Strange coincidence, I wrote something really similar not so long ago!