F #

2013-08-19 6 views
17

सीखना F # में फ़्लोट करने के लिए कास्ट int, वाक्यविन्यास अभी भी मेरे लिए काफी विदेशी है। मैं इस पूर्णांक को तैरने के लिए कैसे लगा सकता हूं?F #

let add x y = 
    x + y 

let j = 2 
add 1.1 j 

सी # फ्लोट में + पूर्णांक = फ्लोट

float j = 1.1f + 5; 
+2

सी # में, 'डबल' पर 'फ्लोट' जोड़कर 'डबल' लौटाता है। आपका कोड 'फ्लोट' और 'int' जोड़ रहा है। – Lee

+0

हालांकि यह एक भाषा में मूल्यों के स्वचालित, चुप कास्टिंग के लिए स्पष्ट प्रतीत होता है, लेकिन मैं चीजों को करने का एफ # तरीका पसंद करता हूं। प्रकार के स्वचालित कास्टिंग से उत्पन्न त्रुटियों से बचें। –

+0

@lee - यह मजाकिया है। मेरा मतलब है कि int डबल नहीं है। : एस ने क्यू – NitroxDM

उत्तर

1

यहाँ कुछ कास्टिंग के लिए वाक्य रचना दिखा उदाहरण हैं:

देना एक्स: पूर्णांक = 5 (डाली x एक पूर्णांक होना करने के लिए)

देना ख: बाइट = बाइट एक्स (डाली ख एक बाइट होने के लिए)

इस लिंक चेक आउट:

http://msdn.microsoft.com/en-us/library/dd233220.aspx

+0

तय किया है मुझे यकीन है कि इनलाइन कास्ट करने का एक तरीका है ... – feralin

+2

पहला उदाहरण वास्तव में एक कलाकार नहीं है। वैसे भी यह एक int होने का अनुमान लगाया जाएगा। –

4

आप का उपयोग कर एक नाव के लिए परिवर्तित कर सकते हैं: पढ़ने में भूलना सवाल ...

मैं बहुत यकीन है कि float() समारोह काम करना होगा हूँ float फ़ंक्शन:

let add x y = x + (float y) 
8

सबसे पहले, functi आपके द्वारा निर्दिष्ट int->int->int टाइप किया गया है जिसका अर्थ है कि इसमें 2 int एस लगता है और int देता है। आप इसे float रों उपयोग करना चाहते हैं आप तर्क के प्रकार निर्दिष्ट करना होगा:

let add (x : float) y = x + y 
//add : float->float->float 

दूसरों के रूप में उल्लेख किया है, तो आप float() समारोह का उपयोग कर एक float पर कास्ट कर सकते:

float 2 //2 : float 

यदि आप अपने उदाहरण में संख्यात्मक अक्षर का उपयोग कर रहे हैं, तो आप 2 के बजाय 2.0 का उपयोग कर सकते हैं जिसमें float प्रकार है।

add 1.1 2.0 
+0

इसे दो फ्लोट पास करना ठीक काम करता है। बिना किसी समस्या के 1.1 2.0 काम जोड़ें। – NitroxDM

1

क्योंकि float एक समारोह है, वहाँ इसे चेहरे पर

add 1.1 (j |> float) 

के लिए एक निश्चित लालित्य है, कि add 1.1 (float 2) तुलना में काफी बेहतर नहीं है, लेकिन आप एक लंबे का परिणाम परिवर्तित करना चाहते हैं, तो एक फ्लोट की गणना, आगे की पाइप बहुत उपयोगी हो सकती है।

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

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