在Python中使用“十进制”

2023-12-13

有人可以解释一下下面发生了什么吗:(我使用Python 3.3)

1. >>> Decimal("0.1") + Decimal("0.1") + Decimal("0.1") - Decimal("0.3")
       Decimal('0.0')

2. >>> Decimal(0.1) + Decimal(0.1) + Decimal(0.1) - Decimal(0.3)
       Decimal('2.775557561565156540423631668E-17')

3. >>> Decimal(0.1 + 0.1 + 0.1 - 0.3)
       Decimal('5.5511151231257827021181583404541015625E-17')

我知道这与浮点限制有关,如果有人能解释原因,我会很高兴

  • 有什么" "与上面示例 1 和 2 之间的区别有关
  • 既然两者都没有,为什么 2 会产生与 3 不同的答案" "?

简而言之,两者都不是0.1 nor 0.3可以精确地表示为float:

In [3]: '%.20f' % 0.1
Out[3]: '0.10000000000000000555'

In [4]: '%.20f' % 0.3
Out[4]: '0.29999999999999998890'

因此,当您使用0.1 or 0.3初始化Decimal(),结果值为大约 0.1 or 0.3.

使用字符串 ("0.1" or "0.3")不存在这个问题。

最后,您的第二个示例产生与第三个示例不同的结果,因为即使两者都涉及隐式舍入,但它们都涉及舍入到不同的小数位数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python中使用“十进制” 的相关文章

  • 如何屏蔽 PyTorch 权重参数中的权重?

    我正在尝试在 PyTorch 中屏蔽 强制为零 特定权重值 我试图掩盖的权重是这样定义的def init class LSTM MASK nn Module def init self options inp dim super LSTM
  • 在 Python 中使用 XPath 和 LXML

    我有一个 python 脚本 用于解析 XML 并将某些感兴趣的元素导出到 csv 文件中 我现在尝试更改脚本以允许根据条件过滤 XML 文件 等效的 XPath 查询将是 DC Events Confirmation contains T
  • 如何用 python 和 sympy 解决多元不等式?

    我对使用 python 和 Sympy 还很陌生 并且遇到了使用 sympy 解决多元不等式的问题 假设我的文件中有很多函数 如下所示 cst sqrt x 2 cst exp sqrt cst x 1 4 log log sqrt cst
  • 获取单个方程的脚本

    在文本文件中输入 a 2 8 b 3 9 c 4 8 d 5 9 e a b f c d g 0 6 h 1 7 i e g j f h output i j 期望的输出 输出 2 8 3 9 0 6 4 8 5 9 1 7 如果输入文件名
  • 类属性在功能上依赖于其他类属性

    我正在尝试使用静态类属性来定义另一个静态类属性 我认为可以通过以下代码来实现 f lambda s s 1 class A foo foo bar f A foo 然而 这导致NameError name A is not defined
  • 如何自动替换多个文件的文本内容中的字符?

    我有一个文件夹 myfolder包含许多乳胶表 我需要替换其中每个字符 即替换任何minus sign by an en dash 只是为了确定 我们正在替换连字符INSIDE该文件夹中的所有 tex 文件 我不关心 tex 文件名 手动执
  • NLTK、搭配问题:需要解包的值太多(预期为 2)

    我尝试使用 NLTK 检索搭配 但出现错误 我使用内置的古腾堡语料库 I wrote alice nltk corpus gutenberg fileids 7 al nltk corpus gutenberg words alice al
  • Python 中 genfromtxt() 的可变列数?

    我有一个 txt具有不同长度的行的文件 每一行都是代表一条轨迹的一系列点 由于每条轨迹都有自己的长度 因此各行的长度都不同 也就是说 列数从一行到另一行不同 据我所知 genfromtxt Python 中的模块要求列数相同 gt gt g
  • 在 python-docx 中搜索和替换

    我有一个包含以下字符串的文档 模板 你好 我的名字是鲍勃 鲍勃是一个很好的名字 我想使用 python docx 打开此文档并使用 查找和替换 方法 如果存在 来更改每个字符串 Bob gt Mark 最后 我想生成一个新文档 其中包含字符
  • 将一个时间序列插入到 pandas 中的另一个时间序列中

    我有一组定期测量的值 说 import pandas as pd import numpy as np rng pd date range 2013 01 01 periods 12 freq H data pd Series np ran
  • 唯一的图像哈希值即使 EXIF 信息更新也不会改变

    我正在寻找一种方法来为 python 和 php 中的图像创建唯一的哈希值 我考虑过对原始文件使用 md5 和 因为它们可以快速生成 但是当我更新 EXIF 信息 有时时区关闭 时 它会更改总和 并且哈希也会更改 有没有其他方法可以为这些文
  • Python While 循环,and (&) 运算符不起作用

    我正在努力寻找最大公因数 我写了一个糟糕的 运算密集型 算法 它将较低的值减一 使用 检查它是否均匀地划分了分子和分母 如果是 则退出程序 但是 我的 while 循环没有使用 and 运算符 因此一旦分子可整除 它就会停止 即使它不是正确
  • 在 pip.conf 中指定多个可信主机

    这是我尝试在我的中设置的 etc pip conf global trusted host pypi org files pythonhosted org 但是 它无法正常工作 参考 https pip pypa io en stable
  • Python 矩阵每一行的总和

    lista 1 2 3 4 5 6 7 8 9 print lista def filas lista res for elemento in lista x sum lista elemento res append x print re
  • WindowsError:[错误 5] 访问被拒绝

    我一直在尝试终止一个进程 但我的所有选项都给出了 Windows 访问被拒绝错误 我通过以下方式打开进程 一个python脚本 test subprocess Popen sys executable testsc py 我想杀死那个进程
  • Python模块单元测试的最佳文件结构组织?

    遗憾的是 我发现有太多方法可以在 Python 中保存单元测试 而且它们通常没有很好的文档记录 我正在寻找一种 终极 结构 它可以满足以下大部分要求 be discoverable by test frameworks including
  • 是否可以强制浮点数的指数或有效数匹配另一个浮点数(Python)?

    这是我前几天试图解决的一个有趣的问题 是否可以强制一个的有效数或指数float与另一个人一样float在Python中 出现这个问题是因为我试图重新调整一些数据 以便最小值和最大值与另一个数据集匹配 然而 我重新调整后的数据略有偏差 大约小
  • asyncio - 多次等待协程(周期性任务)

    我正在尝试为异步事件循环创建定期任务 如下所示 但是我收到 RuntimeError 无法重用已等待的协程 异常 显然 asyncio 不允许等待相同的可等待函数 如中讨论的这个错误线程 https bugs python org issu
  • 如何在单独的文件中使用 FastAPI Depends 作为端点/路由?

    我在单独的文件中定义了一个 Websocket 端点 例如 from starlette endpoints import WebSocketEndpoint from connection service import Connectio
  • 从时间序列生成日期特征

    我有一个数据框 其中包含如下列 Date temp data holiday day 01 01 2000 10000 0 1 02 01 2000 0 1 2 03 01 2000 2000 0 3 30 01 2000 200 0 30

随机推荐

  • Android Studio Youtube 导入存在问题。 “无法解析 YouTubePlayerSupportFragment”

    我正在尝试使用 Android Studio IDE 在应用程序中开发 YouTube 功能 这是我目前的代码 The issue is surrounding the imports Now I have the JAR file imp
  • 将 int 格式设置为电话号码

    有没有办法可以将例如 0000000000 格式化为 000 000 0000 我正在返回一个列表框 其中包含尚未格式化的电话号码集合 我想要的是格式化它 这就是我在视图中的内容 并从控制器 ViewData phoneList new S
  • C++ - 编译器如何决定以引用类型作为参数的重载函数?

    在学习 C 时 我遇到了转换序列这一复杂的主题 并且遇到了一个我自己无法解决的问题 void g const double std cout lt lt void g const double lt lt std endl void g c
  • 来自线程池的 QNetworkAccessManager

    一个非常基本的问题 该文档提到 所有方法QNetworkAccessManager是可重入的 如果是这样 正在执行get 方法在一个QRunnable没有锁合法吗 我的代码看起来像这样 class MyClass public QRunna
  • 给定两个目录树,如何找出哪些文件的内容不同? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 如果我想找到两个目录树之间的差异 我通常只需执行 diff r dir1 dir2 这准确地输出了相应文件之间的差异 我只想获取内容不同的相应文件的列表 我认为这只是将命令行选项传递
  • 如何仅序列化 Jackson 孩子的 ID

    使用 Jackson fasterxml jackson 2 1 1 时是否有内置方法仅序列化孩子的 id 我们想发送一个Order通过 REST 有一个Person参考 然而 person 对象非常复杂 我们可以在服务器端刷新它 所以我们
  • javascript中从子窗口刷新父窗口

    我已经寻找了一段时间 找不到适合我需求的答案 我有一个页面弹出一个窗口 window open 让用户登录 创建cookie 设置会话 然后重定向到另一个页面 当模态重定向时 我想刷新父页面 这样我刚刚做的所有好东西都会被父页面识别 我尝试
  • 数据库设计:被其他实体引用的“代码”表

    我正在构建一个数据库作为一个简单的练习 它可以托管在任何数据库服务器上 所以我试图尽可能保持标准 基本上我想做的是一个被其他实体引用的 代码 表 我解释 xcode id code r role p property code r admi
  • 在浏览器中使用 PHP 脚本运行 Composer

    想知道是否可以执行composer从带有一个 PHP 包装器的浏览器 因为我无权通过 shell 访问服务器 不确定是否可以使用 cURL 来做到这一点 Danack 解决方案的替代方案是包括 composer composer 作为一个
  • apache 上的 Django 与 mod_wsgi (Linux) - 403 禁止

    好的 所以我正在关注this教程 当我尝试通过本地服务器访问我的网站时 我收到这个奇怪的错误 Forbidden You don t have permission to access on this server Apache 2 4 6
  • 如何使用java从SVN存储库获取所有文件和目录

    我有一个任务要完成 我想连接到 SVN 存储库 并且必须使用 java 代码将所有目录和文件从 svn 下载到我的本地系统 我对此很陌生 并尝试使用示例来读取单个文件内容http svnkit com kb dev guide commit
  • 创建一个变量来保存不同类型的对象 C++

    我有 3 个不同的对象A B and C 根据给定的参数 我想在这些不同的对象中进行选择 在编程中 class A public void printHello cout lt lt HELLO A lt lt endl class B p
  • 如何在postgres COPY批量插入期间增加主键?

    我有一张桌子serialid 约束 id serial NOT NULL CONSTRAINT pricing cache pkey PRIMARY KEY id 现在我想使用postgresCOPY命令批量插入csv数据到表中 COPY
  • MVVM / ObservableCollection 问题

    我有以下 XAML
  • 我想了解ReactJS中的SetState和Prevstate

    我是 ReactJS 的新手 我在项目中使用向导形式 使用户能够执行下一步和上一步 我复制了下一个按钮的一些代码 但老实说不明白它的含义 你能帮我理解下面的代码吗 next this setState prevState gt curren
  • 使用PHP备份MySql数据库

    我在 MySql 中有一个相当大的数据库 我需要每天左右对其进行备份 我需要能够从任何计算机上进行备份 因此我考虑制作一个 php 脚本来执行此操作并将此 php 脚本放在网上 当然具有密码保护和授权等 以便只有我可以访问它 但我想知道 这
  • PHP 中的日期比较

    我目前有一个日期作为 255 个字符的 VARCHAR 存储在我的 SQL 数据库中 我将此字符串声明为 within an object date date DATE RFC822 现在 在稍后的编码中 我意识到我需要实际比较日期 我最初
  • gradle 同步时遇到问题 - 找不到 lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2)

    我已将 Android Studio 更新到 3 2 1 现在因以下问题而停止 找不到 lint gradle api jar com android tools lint lint gradle api 26 1 2 在以下位置进行了搜索
  • Django 内容类型表 - 身份验证权限

    我想在下面添加一个权限auth permission桌子 当我手动插入另一个权限时 我需要插入一个content type id还 这是参考content type桌子 我不知道它有什么作用 如果用户没有该权限 我想删除一组 HTML 行
  • 在Python中使用“十进制”

    有人可以解释一下下面发生了什么吗 我使用Python 3 3 1 gt gt gt Decimal 0 1 Decimal 0 1 Decimal 0 1 Decimal 0 3 Decimal 0 0 2 gt gt gt Decimal