【发布时间】:2017-02-27 20:00:06
【问题描述】:
我在长期运行的服务中使用 Go 的 big.Int 作为计数器,从长远来看,统计计数器可能会溢出常规的 uint64。有时我需要计算类似“自程序开始以来的平均费率是多少?”,需要像float64(big.Int) / time.Since(beginning).Seconds() 这样的除法;在速率计算中,转换的精度损失是可以接受的。
但是这种float64(big.Int) 转换不起作用。
我看到包裹上有一个
big.Int.Uint64
转换方法,但如果值溢出常规uint64,则未定义。
我想知道为什么标准库不提供 to Float64() 方法,是否有任何解决方法如何获取浮点值?
【问题讨论】:
标签: go