2008-10-25 13 views
6

Microsoft.FSharp.Compatibility.Int32.of_int64Microsoft.FSharp.Compatibility.Int32.of_int64 का उपयोग किए बिना Int64 को Int32 प्रकार में F # में कैसे परिवर्तित कर सकता हूं?एफ # int64 से int

मैं यह कर रहा हूँ क्योंकि इंटरैक्टिव जब मैं कोशिश काम करने के लिए प्रतीत नहीं होता:

त्रुटि FS0039: नाम स्थान 'संगतता

open Microsoft.FSharp.Compatibility 

FSharp.PowerPack के साथ एक संदर्भ यह कहता है के रूप में जोड़ा ' परिभाषित नहीं है।

संपादित करें: क्या किसी के पास इस प्रश्न का उत्तर है? Int प्रकारों के बारे में सुझाव उपयोगी और सूचनात्मक हैं, लेकिन मुझे F # इंटरैक्टिव में पावरपैक नेमस्पेस खोलने का एक ही समस्या है।

उत्तर

15

एफ # 1.9.6 एक प्रकार रूपांतरण कार्य है ताकि आप यह कर सकते हैं:

let num = 1000 
let num64 = int64(num) 
10

सूचना है कि रूपांतरण के इस प्रकार, जब आप एक मूल्य के आकार को कम, सबसे महत्वपूर्ण बाइट्स दूर फेंक दिया जाता है है, तो आपके डेटा छोटा हो सकता है:

> let bignum = 4294967297L;; 
val bignum : int64 

> let myint = int32(bignum);; 
val myint : int32 

> myint;; 
val it : int32 = 1 
1

ध्यान दें कि प्रकार खुद को रूप में एक ही नाम है प्रत्येक पूर्णांक प्रकार में कनवर्ट करने के लिए काम करता है, और पुस्तकालय कल्पना में परिभाषित कर रहे हैं (नीचे देखें)। (CTP (1.9.6.2) के रिलीज के साथ, पुस्तकालय का एक बहुत और नामस्थान पूर्व में जारी हुए की तुलना में थोड़ा बदल गया है, लेकिन यह शायद अधिक 'स्थिर' हो जाएगा आगे बढ़ने।)

http://research.microsoft.com/fsharp/manual/FSharp.Core/Microsoft.FSharp.Core.Operators.html

+0

लिंक टूटा हुआ है। –

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