javascript使数字成为150的倍数

javascript make a numbers to be multiples of 150

本文关键字:数字 javascript      更新时间:2023-09-26

我正在尝试将数字设为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;

我该怎么做?

这是一个简单的代数,先生:

(num / 150) * 150 = num

替换'12'(是,字符串(:

(num / 150) * 150 = 12

如果您希望所有数字映射到150的倍数,那么只需将它们除以150,然后floor得到一个整数:

150 * math.floor(num / 150)

ceil it:

150 * math.ceil(num / 150)

你几乎做到了。只需在四舍五入运算后相乘:

function ceil150(x) {
    return Math.ceil(x / 150) * 150;
}
alert(ceil150(0.333333));
alert(ceil150(149.9));
alert(ceil150(150));
alert(ceil150(150.1));
alert(ceil150(302));

http://jsfiddle.net/WEdSu/

是一种简单的方法

var num = 12;
var result = 150 * Math.ceil((num * 1.0)/150);

乘以1.0可以确保输入转换为浮点值,否则可能会以整数除法结束,得到12/150=0。

var num = '12';
document.write(Math.ceil(num/150)*150) + "<br />")

你的括号只差一点点。