包装大
导入“数学/大”
func(* Float)字符串
func (x *Float) String() string字符串格式x类似于x.Text(’g’,10)。(必须显式调用字符串,Float.Format不支持%s动词。)
使用字符串输入并四舍五入输出,例如,
package mainimport ( "fmt" "math/big")func main() { const prec = 200 a, _ := new(big.Float).SetPrec(prec).SetString("5000") b, _ := new(big.Float).SetPrec(prec).SetString("4000.30") result := new(big.Float).Sub(a, b) fmt.Println(result) fmt.Println(result.String())}输出:
999.6999999999999999999999999999999999999999999999999999999995999.7
对于十进制,根据定义,二进制浮点数是一个近似值。例如,十进制数字
0.1不能精确表示,大约为
1.10011001100110011001101 *(2**(-4))。
您已经习惯了这种事情,因为您知道重复小数,这是有理数的近似值:
1 / 3 = .333...和
3227 / 555 =5.8144144144...。
参阅每位计算机科学家应了解的有关浮点算法的知识。



