एक स्ट्रिंग को संख्या में कनवर्ट करें और दूर सब कुछ फेंक दशमलव के बाद।
trunc = function(n) { return Number(String(n).replace(/\..*/, "")) }
trunc(-1.5) === -1
trunc(1.5) === 1
संपादित 2013-07-10
रूप minitech द्वारा बताया और दूसरे पर सोचा स्ट्रिंग विधि एक सा अत्यधिक प्रतीत होता है। तो विभिन्न तरीकों यहाँ और कहीं और सूचीबद्ध तुलना:
function trunc1(n){ return parseInt(n, 10); }
function trunc2(n){ return n - n % 1; }
function trunc3(n) { return Math[n > 0 ? "floor" : "ceil"](n); }
function trunc4(n) { return Number(String(n).replace(/\..*/, "")); }
function getRandomNumber() { return Math.random() * 10; }
function test(func, desc) {
var t1, t2;
var ave = 0;
for (var k = 0; k < 10; k++) {
t1 = new Date().getTime();
for (var i = 0; i < 1000000; i++) {
window[func](getRandomNumber());
}
t2 = new Date().getTime();
ave += t2 - t1;
}
console.info(desc + " => " + (ave/10));
}
test("trunc1", "parseInt");
test("trunc2", "mod");
test("trunc3", "Math");
test("trunc4", "String");
परिणाम, हार्डवेयर के आधार पर भिन्न हो सकते हैं, इस प्रकार हैं:
parseInt => 258.7
mod => 246.2
Math => 243.8
String => 1373.1
Math.floor/प्लस्तर लगाना विधि मामूली तेजी से किया जा रहा है parseInt और mod। स्ट्रिंग अन्य तरीकों की तुलना में खराब प्रदर्शन करता है।
पूर्णांकन और छोटा 2 अलग संचालन कर रहे हैं। आप कौन सी कोशिश कर रहे हैं? –
'.substring()' जावास्क्रिप्ट में बिल्कुल एक फ़ंक्शन है। –
** विधि कहा जाता है '.toFixed()' ** – neaumusic