преобразование float32 в int в Go

Я пробовал несколько способов преобразования числа с плавающей запятой в int, я хочу обрезать число с плавающей запятой, чтобы получить только целую часть. Я использую

x := float32(3.1)
y,_ := strconv.Atoi((strconv.Ftoa32(x,'f',0))) //y becomes 3

Но если x равен 3,9, y станет 4, потому что эта функция будет округлять float32 вместо усечения. Есть ли способ усечения вместо округления? и если да, то можно ли это сделать без использования строк? (например, преобразование float в int в C)

29
задан nexneo 6 January 2014 в 13:39
поделиться