2016-09-08 10 views
7

में संख्यात्मक मान की जांच कैसे करें मैं यह निर्धारित करना चाहता हूं कि कोई मान संख्यात्मक है या उस पर फ़ंक्शन का उपयोग करने से पहले नहीं। एक विशिष्ट उदाहरण के रूप में:जूलिया

z = [1.23,"foo"] 
for val in z 
    if isnumeric(val) 
     round(z) 
    end 
end 

यहाँ isnumeric() एक समारोह है कि मुझे नहीं लगता कि जूलिया में मौजूद है। मैं कुछ अलग-अलग तरीकों के बारे में सोच सकता हूं हो सकता है, लेकिन मैं "सर्वश्रेष्ठ" तरीके के लिए कुछ सुझाव देखना चाहता हूं।

+2

आपके उपयोग के मामले में पूरी तरह से स्पष्ट नहीं है, तो यह क्या च कहा जाता हो जाता है को नियंत्रित करने के प्रेषण का उपयोग करना सार्थक हो सकता या विभिन्न प्रकार के मूल्य। – jverzani

उत्तर

9

मुझे लगता है कि पसंदीदा मुहावरा है

isa(val, Number) 

आम तौर पर आप गोलाई तैरता में रुचि रखते हैं, जिस स्थिति में

isa(val, AbstractFloat) 
8

आप इस प्रकार का तत्व के प्रकार की जांच कर सकते हैं:

typeof(val)<:Number 

:< ऑपरेटर जांच करता है कि एक प्रकार एक और की एक उप-प्रकार है।

यहाँ एक बहुत ही उपयोगी जूलिया में संख्यात्मक प्रकार के एक सिंहावलोकन दे चार्ट है: https://en.wikibooks.org/wiki/Introducing_Julia/Types

+0

ने उत्तर के रूप में नहीं चुना क्योंकि अंतर्निहित 'isa()' का उपयोग करना एक बेहतर तरीका है। हालांकि, जूलिया प्रकार आरेख के लिए आपका लिंक उत्कृष्ट है। – bizzy