आप सही हैं कि BigInteger
decimal
फ़ंक्शन का उपयोग करके परिवर्तित किया जा सकता है या नहीं, इसमें कुछ असंगतता है। ऐसा लगता है कि आप .NET के संस्करण पर निर्भर हैं जिसे आप संकलित कर रहे हैं। यदि आप विजुअल स्टूडियो 2010 से एफ # कंपाइलर (या एफ # इंटरैक्टिव) का उपयोग कर रहे हैं, तो डिफ़ॉल्ट लक्ष्य .NET 4.0 है। कि लक्ष्य के लिए, संकलन ठीक काम करता है:
C:\Temp>"C:\Program Files (x86)\Microsoft F#\v4.0\Fsc.exe" test.fs
Microsoft (R) F# 3.0 Compiler build 2.0.0.0
Copyright (c) Microsoft Corporation. All Rights Reserved.
आप स्पष्ट रूप से mscorlib.dll
और FSharp.Core.dll
के संस्करण .NET 2.0 का हवाला लक्ष्य ढांचा बदल सकते हैं। फिर संकलक त्रुटि आप वर्णित रिपोर्ट:
C:\Temp>"C:\Program Files (x86)\Microsoft F#\v4.0\Fsc.exe" test.fs --noframework
-r:C:\Program Files (x86)\FSharp-2.0.0.0\bin\FSharp.Core.dll
-r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll
Microsoft (R) F# 3.0 Compiler build 2.0.0.0
Copyright (c) Microsoft Corporation. All Rights Reserved.
test.fs(1,23): error FS0001: The type 'System.Numerics.BigInteger' does not support
a conversion to the type 'decimal'
जब परियोजना संकलन आप त्रुटि हो रही है, तो अपनी परियोजना शायद .NET 2.0 के लिए संकलित करने के लिए कॉन्फ़िगर किया गया है।
स्रोत
2011-11-08 03:18:30
+1 तुम मुझे यह करने के लिए हराया। यदि कुछ अतिरिक्त विवरण उपयोगी थे, तो मैं अपना उत्तर वहां छोड़ दूंगा। –