F#int64到int

12 f# type-conversion

如何在不使用?的情况下将其转换为F#中Int64Int32类型Microsoft.FSharp.Compatibility.Int32.of_int64

我这样做是因为当我尝试时,交互式似乎不起作用:

open Microsoft.FSharp.Compatibility
Run Code Online (Sandbox Code Playgroud)

随着FSharp.PowerPack加入作为参考,它说:

错误FS0039:未定义名称空间"兼容性".

编辑:有人有问题的答案吗?关于int类型的建议是有用的和信息性的,但我在F#interactive中打开powerpack命名空间时遇到了同样的问题.

The*_*ker 21

F#1.9.6有一个类型转换函数,所以你可以这样做:

let num = 1000
let num64 = int64(num)
Run Code Online (Sandbox Code Playgroud)


CMS*_*CMS 10

请注意,在这种类型的转换中,当您减小值的大小时,最重要的字节将被丢弃,因此您的数据可能会被截断:

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

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

> myint;;
val it : int32 = 1
Run Code Online (Sandbox Code Playgroud)