JavaScript中取整數部分有多種方法,可以使用Math.floor()、Math.ceil()、Math.round()、parseInt()等函數進行操作。具體使用哪個方法,要根據實際需求來選擇。下面詳細介紹各個方法的使用場景和注意事項。
1. Math.floor()
Math.floor(2.8); // 2 Math.floor(-2.8); // -3
Math.floor()函數可將一個數值向下取整。即取比當前值小的最大整數。如果參數是正數,則結果與Math.ceil()相同。如果是負數,則結果更小。
2. Math.ceil()
Math.ceil(2.8); // 3 Math.ceil(-2.8); // -2
Math.ceil()函數與Math.floor()相反。它可將一個數值向上取整。即取比當前值大的最小整數。如果參數是負數,則結果與Math.floor()相同。如果是正數,則結果更大。
3. Math.round()
Math.round(2.4); // 2 Math.round(2.6); // 3 Math.round(-2.4); // -2 Math.round(-2.6); // -3
Math.round()函數可將一個數值四舍五入取整。即將當前值加上0.5,然后向下或向上取整。如果參數小于0.5,則結果向下取整。否則向上取整。
4. parseInt()
parseInt("10"); // 10 parseInt("10.56"); // 10 parseInt("Hello 10"); // NaN parseInt("1011", 2); // 11
parseInt()函數可將一個字符串轉換為整數。如果字符串以非數字字符開頭,則返回NaN。可使用第二個參數指定基數。如果未指定,則默認使用10進制。
需要注意的是,各個函數對于浮點數的處理方式不同。
Math.floor(2.8); // 2 Math.floor(-2.8); // -3 Math.ceil(2.8); // 3 Math.ceil(-2.8); // -2 Math.round(2.4); // 2 Math.round(2.6); // 3 Math.round(-2.4); // -2 Math.round(-2.6); // -3
如果需要對小數進行向下取整,可使用parseInt()函數。但值得注意的是,parseInt()函數只能取整數部分,不能四舍五入。
parseInt("10.56"); // 10
對于非數字字符串的處理,也要特別注意。在進行parseInt()函數轉換時,如果字符串以非數字字符開頭,則返回NaN。
parseInt("Hello 10"); // NaN
除此之外,還要注意在使用parseInt()函數時,如果指定了基數,則需要將基數加上0x或0X來表示16進制。否則會認為是10進制。
parseInt("1011", 2); // 11
總的來說,JavaScript中取整數部分的方法有多種。不同的方法對于不同的場景有不同的適用性。使用時需要根據實際情況進行選擇。