python - 如何得到准确的计算
问题描述
我试图在 python 中做一个简单的计算,乘以几个数字,但我得到的结果不准确。
我试图从计算中解决这个 999999999999999999*2*(2-1)/2 ,答案应该是 999999999999999999 但我得到 1000000000000000000
我怎样才能得到准确的结果?
a = 999999999999999999*2*(2-1)/2
print(a)
int(a)
1e+18
1000000000000000000
解决方案
使用小数:
from decimal import *
a = Decimal('999999999999999999')*2*(2-1)/2
print(a)
输出:
999999999999999999
推荐阅读
- apache - 服务器上的多个 solr 版本
- excel - VBA GoTo 应用程序 - 如何放置延迟
- rabbitmq - 是否可以配置 RabbitMQ 管理插件使用的密码套件?
- node.js - 我正在尝试连接到 node.js,但我在 webstorm 中遇到了一些错误
- python - 如何仅针对类实例从子类方法更改python父类中的变量值
- ruby-on-rails - 为什么我必须把条件放两次?
- c# - 使用 C# asp.net / Net 4.7 为 HA 缓存大型对象
- excel - Excel VBA试图将数组与通配符匹配
- shell - 使用shell按字母顺序对多行记录进行排序
- asp.net - 如何在 Windows 窗体中添加 System.Web