【发布时间】:2011-12-25 14:14:13
【问题描述】:
我尝试了几种将浮点数转换为 int 的方法,我想要的是截断浮点数,所以我只得到整数部分。 我正在使用
x := float32(3.1)
y,_ := strconv.Atoi((strconv.Ftoa32(x,'f',0))) //y becomes 3
但如果 x 为 3.9,y 将变为 4,因为此函数将舍入 float32 而不是截断。 有没有一种截断而不是舍入的方法?如果是这样,是否可以在不涉及字符串的情况下做到这一点? (就像在 C 中将浮点数转换为 int 一样)
【问题讨论】: