javascript使数字成为150的倍数
我试图让数字成为 150 的倍数。
(all the num > 0)
if num = 0.333333 => output 150
if num = 149.9 => output 150
if num = 150 => output 150
if num = 150.1 => output 300
if num = 302 => output 450
...
这是到目前为止我的代码,使用 ceil()
:
var num = '12';
document.write(Math.ceil((num/150)*150) + "<br />")
// Output 12, not 150;
我该如何做到这一点?
I'm trying to get numbers to be multiples of 150.
(all the num > 0)
if num = 0.333333 => output 150
if num = 149.9 => output 150
if num = 150 => output 150
if num = 150.1 => output 300
if num = 302 => output 450
...
Here is my code so far, using ceil()
:
var num = '12';
document.write(Math.ceil((num/150)*150) + "<br />")
// Output 12, not 150;
How can I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这是简单的代数,先生:
替换
'12'
(是的,一个字符串):如果您希望所有数字映射到
150
的倍数,然后将它们除以 150,然后将结果取整
得到一个整数:或者
ceil
:This is simple algebra, sir:
Substituting
'12'
(yes, a string):If you want all numbers to map to multiples of
150
, then just divide them by 150 and thenfloor
the result to get an integer:Or
ceil
it:你几乎已经拥有了。在舍入操作后简单地相乘:
http://jsfiddle.net/WEdSu/
You almost had it. Simply multiply after the rounding operation:
http://jsfiddle.net/WEdSu/
一种简单的方法是
乘以 1.0 确保输入转换为浮点值 - 否则您可能会得到整数除法并得到 12 / 150 = 0。
A simple way would be
The multiplication by 1.0 ensures that input is converted to a floating point value - otherwise you may end up with integer division and get 12 / 150 = 0.
你的括号差了一点点。
Your parentheses were off by just a little.