float64からintにキャストすると切り捨てされる ※実行結果[2]参照
main.go
package main
import "fmt"
func main() {
a := 2.0 / 3.0 * 100 // float64になる
fmt.Println("[1] float64 で出力 :", a)
fmt.Println("[2] int で出力 :", int(a))
b := int(a) // float64からintにキャスト
fmt.Println("[3] float64 で出力1:", float64(b))
fmt.Printf("[4] float64 で出力2: %f\n", float64(b))
}
実行結果
[1] float64 で出力 : 66.66666666666667
[2] int で出力 : 66
[3] float64 で出力1: 66
[4] float64 で出力2: 66.000000