Math.ceil(4); // 4
Math.ceil(4.95); // 5
Math.ceil(0.05) // 1
Math.ceil(-6.75) // -7
Math.ceil(-0.05) // -0
這裏,輸出爲-0
,但我只想要0
Math.ceil(4); // 4
Math.ceil(4.95); // 5
Math.ceil(0.05) // 1
Math.ceil(-6.75) // -7
Math.ceil(-0.05) // -0
這裏,輸出爲-0
,但我只想要0
你的問題是完全錯誤的......
Math.floor(-0.05) // -0
以上錯誤。它是-1
。地板是否定的。您需要ceil
:
Math.floor(-0.05)
-1
Math.ceil(-0.05)
-0
而你需要abs()
:
Math.abs(Math.ceil(-0.05))
0
我不喜歡只是將所有內容都包裝在'Math.abs()'中,因爲如果我們正在尋找'-2.5'的'ceil',該怎麼辦?答案不應該是'2'。 – krillgar
@krillgar你有一個點隊友。但看看我在包裝它?在最後的權利?所以......':)' –
當輸出是-2時,我想-2作爲答案。但-0不是一個有效的數字,所以我想0 –
如果只想絕對數..總是,然後
console.log(Math.floor(Math.abs(-0.05)))
我總是不想要絕對值。只爲-0作爲0 @Nirmal –
@LakhanBaheti,爲什麼你不能添加一個明確的檢查'0'或'-0'? 「-0」不工作但是「0」的用例是什麼? –
有沒有理由不寫一行'if'語句? – Amy
如果你想改變的方式,一個本地功能的作品,你最好的選擇是創建你自己的。
Math.myCeil = function (x) {
var ans = Math.ceil(x);
// -0 === 0 is true!
if (ans === 0) {
ans = 0;
}
return ans;
};
你確定它的輸出是'0',因爲對我來說的'-1' @Lakhan –
我也得-1,無法重現。 – Amy
它的ceil不落地@PranavPatel –