Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript将数字设为150的倍数_Javascript_Math - Fatal编程技术网

javascript将数字设为150的倍数

javascript将数字设为150的倍数,javascript,math,Javascript,Math,我想让数字是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的代码: 我怎样才能做到这一点呢?你差点就成功了。四舍五入操作后只需相乘: f

我想让数字是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的代码:


我怎样才能做到这一点呢?

你差点就成功了。四舍五入操作后只需相乘:

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));

这是简单的代数,先生:

(num / 150) * 150 = num
替换“12”是,字符串:

(num / 150) * 150 = 12
如果您希望所有数字都映射为150的倍数,则只需将它们除以150,然后将结果降低为整数:

150 * math.floor(num / 150)
或ceil it:

一个简单的方法是

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 />")

你的括号只差了一点。

去掉一组括号:Math.ceilnum/150*150。好的,打断这个括号可能会有用。
var num = 12;
var result = 150 * Math.ceil((num * 1.0)/150);
var num = '12';
document.write(Math.ceil(num/150)*150) + "<br />")