• go大数、小数处理方案(解决精度问题)


    通常我们处理小数时,由于编程语言遵循的规范,目前绝大部分语言中的float类型都存在精度问题,

    为了解决这类问题,通常会将小数先转为整数,再进行计算,这一步已经能满足大部分小数处理问题了。

    但是,在遇到非常多位小数的情况下,比如0.000000000000000000000000018,这个时候按照上面的方案,转成整数去进行计算,很容易溢出,go中uint64类型最大也只能有4003012203950112768。

    好在go官方提供了math/big库,该库支持超大数和超大位小数的计算,保证精度。

    还有一个第三方库,shopspring/decimal,专用于处理小数计算的,该库的实现方案也是类似的,将小数转为整数,再调用math/big库进行计算

  • 相关阅读:
    Linux
    Cookie & Session
    HTTP
    HTTP
    抓包工具
    抓包工具
    抓包工具
    python
    python
    python
  • 原文地址:https://www.cnblogs.com/yourstars/p/15908062.html
Copyright © 2020-2023  润新知