2011-02-07 20 views
42

पर नकारात्मक मुझे शून्य पर नकारात्मक सेट करने के लिए कोई विधि नहीं मिल रही है?जावास्क्रिप्ट मैथ ऑब्जेक्ट विधि - जावास्क्रिप्ट में शून्य

-90 हो जाता है 0
-45 0
90 हो जाता है 90

वहाँ ऐसा कुछ है हो जाता हो जाता है? मैंने सिर्फ संख्याओं को गोल किया है।

उत्तर

88

वैसे ही जैसे

value = value < 0 ? 0 : value; 

या

if (value < 0) value = 0; 

या

value = Math.max(0, value); 
+1

त्वरित JSPerf मूल्य = मूल्य <0 पता चलता है? 0: मूल्य; शीर्ष पर है http://jsperf.com/negatives-to-zero – Skeep

+2

मुझे 'Math.max' सबसे अधिक पसंद है, क्योंकि इसे केवल –

26

कुछ आप Math.max() इस्तेमाल कर सकते हैं मुझे लगता है कि है।

var num = 90; 
num = Math.max(0,num); // 90 

var num = -90; 
num = Math.max(0,num); // 0 
+0

पर एक बार' मान 'संदर्भित करने की आवश्यकता है, यह मेरी राय में स्वीकार्य उत्तर होना चाहिए। बस कह रहा है ... :) – ksugiarto

2

x < 0 ? 0 : x नौकरी करता है।

4

आप चतुर होना चाहते हैं:

num = (num + Math.abs(num))/2; 

हालांकि, Math.max या एक सशर्त ऑपरेटर भी बहुत कुछ समझ में आता होगा।
इसके अलावा, इसमें बड़ी संख्या के लिए सटीक समस्याएं हैं।

0

मुझे विश्वास नहीं है कि ऐसा फ़ंक्शन मूल गणित ऑब्जेक्ट के साथ मौजूद है। यदि आपको इसका उपयोग करने की आवश्यकता है तो आपको फ़ंक्शन भरने के लिए एक स्क्रिप्ट लिखनी चाहिए।

3
Math.positive = function(num) { 
    return Math.max(0, num); 
} 

// or 

Math.positive = function(num) { 
    return num < 0 ? 0 : num; 
} 
+0

शून्य न तो सकारात्मक और न ही नकारात्मक है, आपके फ़ंक्शन का नाम बदलकर बदला जाना चाहिए – Killy

संबंधित मुद्दे