Подтвердить что ты не робот

Листинг из float32 в int в Go

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

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

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

4b9b3361

Ответ 1

Просто используйте int():

x := float32(3.1)
fmt.Println(int(x))

Что создает 3 по мере необходимости, без необходимости использовать преобразования строк и т.п.