【发布时间】:2016-10-08 06:40:06
【问题描述】:
我想将 float64 数字转换为 int64 数字。也就是说,我想读取 float64 寄存器的二进制内容,就好像它是 int64 值一样。我的意思是,我想要以下 C 代码的 go 等效项
long y;
float x = 1.2;
y = * ( long * ) &x;
我该怎么做?
这是我的尝试,但不起作用。
package main
import (
"fmt"
)
func main() {
x := float64(1.2)
y := *((*int64)(&x))
fmt.Println("Ans: ", y)
}
【问题讨论】:
-
直接转成int64还不够?
y := int64(x)