f32/floatutils.go
func Round(v float32, prec int) float32 {
	p := float32(prec)
	t := v * math32.Pow(10, p)
	if t > 0 {
		return math32.Floor(t+0.5) / math32.Pow(10, p)
	}
	return math32.Ceil(t-0.5) / math32.Pow(10, p)
}
func Round(v float32, prec int) float32 {
	p := float32(prec)
	t := v * math32.Pow(10, p)
	if t > 0 {
		return math32.Floor(t+0.5) / math32.Pow(10, p)
	}
	return math32.Ceil(t-0.5) / math32.Pow(10, p)
}
func Round ( v float32 , prec int ) float32 { p := float32 ( prec ) t := v * math32 . Pow ( 10 , p ) if t > 0 { return math32 . Floor ( t + 0.5 ) / math32 . Pow ( 10 , p ) } return math32 . Ceil ( t - 0.5 ) / math32 . Pow ( 10 , p ) }
// Round shortens a float32 value to a specified precision (number of digits
// after the decimal point) with "round half up" tie-breaking rule. Half-way
// values (23.5) are always rounded up (24).
Round shortens a float32 value to a specified precision ( number of digits after the decimal point ) with round half up tie - breaking rule . Half - way values ( 23 . 5 ) are always rounded up ( 24 ) .