INNER CODE UNIT · Go
f
ericlagergren/decimal · big.go:738
f = float64(x.compact) * math.Pow10(x.exp)
ok = x.compact < maxMantissa && !math.IsInf(f, 0) && !math.IsNaN(f)
case x.exp < 0:
f = float64(x.compact) / math.Pow10(-x.exp)
ok = x.compact < maxMantissa && !math.IsInf(f, 0) && !math.IsNaN(f)
default:
parse = true
}
if parse {
f, _ = strconv.ParseFloat(x.String(), 64)
ok = !math.IsInf(f, 0) && !math.IsNaN(f)
}
if x.form&signbit != 0 {
f = math.Copysign(f, -1)
}
return f, ok