经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python decimal模块的使用示例详解
来源:jb51  时间:2023/3/14 8:45:56  对本文有异议

Python decimal 模块

  • Python中的浮点数默认精度是15位。
  • Decimal对象可以表示任意精度的浮点数。

getcontext函数

  • 用于获取当前的context环境,可以设置精度、舍入模式等参数。
  1. #在context中设置小数的精度
  2. decimal.getcontext().prec = 100
  • 通过字符串初始化Decimal类型的变量

因为通过浮点数初始化Decimal类型的变量会导致精度的丢失

  1. # 浮点数的初始化
  2. a = decimal.Decimal('3.14159265')

setcontext函数

decimal.ROUND_HALF_UP 对浮点数四舍五入

  1. import decimal
  2. x = decimal.Decimal('1.23456789')
  3. context = decimal.Context(prec=4,rounding=decimal.ROUND_HALF_UP)
  4. decimal.setcontext(context)
  5. y1 = x
  6. y2 = x*2
  7. print("y1",y1)
  8. print("y2",y2)
  9. >>>y1 1.23456789
  10. >>>y2 2.469

localcontext函数

  • 用于创建一个新的context环境,可以在该环境中设置精度、舍入模式等参数,不会影响全局的context环境。
  1. import decimal
  2. x = decimal.Decimal('1.23456789')
  3. context0 = decimal.Context(prec=9,rounding=decimal.ROUND_HALF_UP)
  4. decimal.setcontext(context0)
  5. y1 = x * 2
  6. print("y1",y1)
  7. with decimal.localcontext() as context:
  8. context.prec = 4
  9. context.rounding = decimal.ROUND_HALF_UP
  10. y2 = x * 2
  11. print("y2",y2)
  12. >>>y1 2.46913578
  13. >>>y2 2.469
  14. >>>
  15. >>>

到此这篇关于Python decimal模块的使用的文章就介绍到这了,更多相关Python decimal使用内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号