2011-11-09 15 views
27

Próbowałem kilka sposobów oddanych pływaka do int, co chcę jest obciąć pływaka więc dostać tylko część całkowitą. Używamodlewane z float32 int Przejdź

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

Ale jeśli x jest 3,9, y będzie stać 4, ponieważ funkcja ta będzie zaokrąglić float32 zamiast obcinania. Czy istnieje sposób obcinania zamiast zaokrąglania? a jeśli tak, czy można to zrobić bez angażowania łańcuchów? (Jak odlewania pływaka do int w C)

Odpowiedz

45

Wystarczy użyć int():

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

która produkuje 3 miarę potrzeb, bez konieczności korzystania z konwersji ciągów znaków lub podobne.