decimal
기능을 사용하여 BigInteger
을 변환 할 수 있는지 여부에 약간의 불일치가 있다는 것이 맞습니다. 그것은 당신이 컴파일하는 .NET의 버전에 의존하는 것 같다. Visual Studio 2010에서 F # 컴파일러 (또는 F # 대화식)를 사용하는 경우 기본 대상은 .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 컴파일하도록 구성되어 있습니다.
+1 당신은 나를 이겼다. 추가 정보 중 일부가 유용 할 경우를 대비하여 대답을 남겨 둘 것입니다. –