簡體   English   中英

javascript使數字為150的倍數

[英]javascript make a numbers to be multiples of 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;

我怎樣才能做到這一點?

你差點就吃了。 四舍五入后只需乘以:

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/

先生,這是簡單的代數:

(num / 150) * 150 = num

替換為'12' (是,字符串):

(num / 150) * 150 = 12

如果您希望所有數字都映射為150倍數,則只需將它們除以150, 然后 floor即可得到整數:

150 * math.floor(num / 150)

或將其ceil

150 * math.ceil(num / 150)

一種簡單的方法是

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

您的括號只差了一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM