在Python中获取Decimal的Ceil()?

2024-01-06

有没有办法在Python中获得高精度Decimal的ceil?

>>> import decimal;
>>> decimal.Decimal(800000000000000000001)/100000000000000000000
Decimal('8.00000000000000000001')
>>> math.ceil(decimal.Decimal(800000000000000000001)/100000000000000000000)
8.0

数学对值进行四舍五入并返回非精确值


取Decimal实例上限的最直接方法x是使用x.to_integral_exact(rounding=ROUND_CEILING)。这里没有必要搞乱上下文。请注意,这设置了Inexact and Rounded适当时标记;如果您不想触及标志,请使用x.to_integral_value(rounding=ROUND_CEILING)反而。例子:

>>> from decimal import Decimal, ROUND_CEILING
>>> x = Decimal('-123.456')
>>> x.to_integral_exact(rounding=ROUND_CEILING)
Decimal('-123')

与大多数 Decimal 方法不同,to_integral_exact and to_integral_value方法不受当前上下文精度的影响,因此您不必担心更改精度:

>>> from decimal import getcontext
>>> getcontext().prec = 2
>>> x.to_integral_exact(rounding=ROUND_CEILING)
Decimal('-123')

顺便说一句,在 Python 3.x 中,math.ceil完全按照你想要的方式工作,除了它返回一个int而不是一个Decimal实例。这有效是因为math.ceil对于 Python 3 中的自定义类型是可重载的。在 Python 2 中,math.ceil只是简单地转换Decimal实例到一个float首先,可能会在此过程中丢失信息,因此最终可能会得到不正确的结果。

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

在Python中获取Decimal的Ceil()? 的相关文章

  • 如何手动计算分类交叉熵?

    当我手动计算二元交叉熵时 我应用 sigmoid 来获取概率 然后使用交叉熵公式并平均结果 logits tf constant 1 1 0 1 2 labels tf constant 0 0 1 1 1 probs tf nn sigm
  • 保存为 HDF5 的图像未着色

    我目前正在开发一个将文本文件和 jpg 图像转换为 HDF5 格式的程序 用HDFView 3 0打开 似乎图像仅以灰度保存 hdf h5py File Sample h5 img Image open Image jpg data np
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • 使用字典映射数据帧索引

    为什么不df index map dict 工作就像df column name map dict 这是尝试使用index map的一个小例子 import pandas as pd df pd DataFrame one A 10 B 2
  • 如何使用 Pandas、Numpy 加速 Python 中的嵌套 for 循环逻辑?

    我想检查一下表的字段是否TestProject包含了Client端传入的参数 嵌套for循环很丑陋 有什么高效简单的方法来实现吗 非常感谢您的任何建议 def test parameter a list parameter b list g
  • Pandas Merge (pd.merge) 如何设置索引和连接

    我有两个 pandas 数据框 dfLeft 和 dfRight 以日期作为索引 dfLeft cusip factorL date 2012 01 03 XXXX 4 5 2012 01 03 YYYY 6 2 2012 01 04 XX
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 为什么 PyYAML 花费这么多时间来解析 YAML 文件?

    我正在解析一个大约 6500 行的 YAML 文件 格式如下 foo1 bar1 blah name john age 123 metadata whatever1 whatever whatever2 whatever stuff thi
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • 如何使用 pybrain 黑盒优化训练神经网络来处理监督数据集?

    我玩了一下 pybrain 了解如何生成具有自定义架构的神经网络 并使用反向传播算法将它们训练为监督数据集 然而 我对优化算法以及任务 学习代理和环境的概念感到困惑 例如 我将如何实现一个神经网络 例如 1 以使用 pybrain 遗传算法
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • pip 列出活动 virtualenv 中的全局包

    将 pip 从 1 4 x 升级到 1 5 后pip freeze输出我的全局安装 系统 软件包的列表 而不是我的 virtualenv 中安装的软件包的列表 我尝试再次降级到 1 4 但这并不能解决我的问题 这有点类似于这个问题 http
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • 如何在 pygtk 中创建新信号

    我创建了一个 python 对象 但我想在它上面发送信号 我让它继承自 gobject GObject 但似乎没有任何方法可以在我的对象上创建新信号 您还可以在类定义中定义信号 class MyGObjectClass gobject GO
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 如何计算Python中字典中最常见的前10个值

    我对 python 和一般编程都很陌生 所以请友善 我正在尝试分析包含音乐信息的 csv 文件并返回最常听的前 n 个乐队 从下面的代码中 每听一首歌曲都是一个列表中的字典条目 格式如下 album Exile on Main Street
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解
  • Kivy - 单击按钮时编辑标签

    我希望 Button1 在单击时编辑标签 etykietka 但我不知道如何操作 你有什么想法吗 class Zastepstwa App def build self lista WebOps getList layout BoxLayo

随机推荐

  • 在服务层或存储库层管理事务?

    我有一个特定的场景 其中基于某些约束在多个表上完成插入和更新 因此很自然地在这些场景中使用事务范围 现在 我有一个存储库层和一个服务层 服务层调解存储库和 UI 并且始终处于无知状态 现在我很困惑在服务层或存储库层中的何处使用事务 我没有使
  • Facebook Sdk 尚未初始化 FacebookSdk.sdkInitialize()

    嘿 我知道以前有人问过这个问题 但似乎没有一个解决方案有帮助 我在我的应用程序中第一次使用 Facebook SDK 我尝试过的 我已经尝试过大部分在Internet但没有得到任何关于此事的信息 这是我的 MainActivity java
  • Qt 为什么不使用异常处理?

    我一直想知道 由于 Qt 以一种美妙且创新的方式使用了标准中的几乎所有 C 功能 并且每当它不使用特定功能时 它都有一个完全有效且适用的理由不这样做 在这种情况下 为什么没有 Qt 类使用throw关键字和throw有什么例外吗 他们从不要
  • C++ 中的向量下标超出范围错误

    我正在尝试编写一个程序 它接受 n 个整数的输入 并找出给定输入中出现次数最多的那个 我正在尝试为 t 种情况运行该程序 为此 我实现了一种类似计数排序的算法 可能有点天真 它计算输入中每 个数字出现的次数 如果有多个数字具有相同的最大出现
  • AttributeError:“list”对象在 App Engine 中没有属性“has_key”

    我在应用程序引擎的批量加载器方面遇到一些问题 下面我插入了bulkloader yaml hs transformers py 和错误日志 知道是什么产生了这个错误吗 我的hs transformer如果我返回单个实体 只是一个实体 而不是
  • 在 jquery UI datepicker 范围中使用 altFormat 和 altField

    我正在尝试获取 从 和 到 的日期范围 以将其添加到我的数据库中 我使用 altFormat 和 altField 捕获 DB 格式 yy mm dd 的日期 同时使用 Datepicker jquery UI 组件在 UI 中显示正常日期
  • Three.js 图像不是两个警告的幂

    我对从 Three js 收到的警告有疑问 警告是 THREE WebGLRenderer 图像不是2的幂 600x480 调整大小为 512x512我尝试添加 THREE LinearFilter 但它没有任何作用 var texture
  • 与 MediaRecorder Android 6.0 (API 23) 一起使用的“Seekable”文件描述符

    所以我尝试使用我的 Android 作为网络摄像头 我的代码对于 API ParcelFileDescriptor s createPipe 创建用于读取和写入的管道的方法 简而言之 我对管道的写入如下所示 ParcelFileDescri
  • 从文档目录中的文件夹创建 ZIP 文件 - Objective C (ARC)

    我有一个使用 ARC 开发的 iPhone 应用程序 我的文档目录中有一个文件夹 其中包含一堆图像 我需要将其压缩并通过电子邮件发送 我的项目使用ARC 有人有任何对我有帮助的示例代码 资源链接吗 我在网上查了一下 发现与 ARC 不兼容
  • 捕获比屏幕大的整个滚动视图[重复]

    这个问题在这里已经有答案了 主要问题是将整个滚动视图保存为位图图像 而不仅仅是屏幕上显示的图像 有没有办法保存整个滚动视图 如果可以的话如何保存 在ScrollView中创建RelativeLayout或LinearLayout以从Layo
  • 使用 gstreamer 将 YUVj420p 像素格式转换为 RGB888

    我使用 gstreamer 1 2 将帧从我的 IP 摄像头馈送到 opencv 程序 流是 640 368 YUVj420p 我想将其转换为RBG888以便能够在我的opencv程序中使用它 那么有没有办法使用 gstreamer 来进行
  • Bash 4.2 中的 IFS 发生变化

    运行这些命令会给出预期的结果 bash version GNU bash version 4 1 11 2 release foo 111 222 333 IFS cat lt lt lt foo 111 222 333 然而 在 Bash
  • 如何从谷歌地图 URL 获取某个位置的地址?

    给定谷歌地图位置的 URL 我希望能够获取该位置的地址 例如给定这个 URL https www google com maps place Eiffel Tower 48 8583701 2 2922926 17z data 3m1 4b
  • 即使 upload_max_size 大于文件大小,$_FILE 上传大文件也会出现错误 1

    我有一个简单的上传表单 enctype multipart form data gt and input type hidden name MAX FILE SIZE value 5900000 gt 以及在 php ini 中应用 通过
  • 将参数传递给 link_to 方法

    如何使用 link to 方法通过 MVC 传递参数 view 如何使用 link to 方法来利用 remove tag 操作 issues controller rb def remove tag parameter issue rem
  • 黑莓无线安装

    我将黑莓应用程序的可交付变量上传到服务器 我希望我的用户从 URL 安装该应用程序 在上传到远程服务器之前 我在本地主机上进行了测试 没问题 但是 当我尝试从服务器下载 jad 文件时 它会显示文件内容 但不会安装应用程序 显示文字 Man
  • AngularJS 与 Django - 模板标签冲突

    我想将 AngularJS 与 Django 一起使用 但是它们都使用 作为他们的模板标签 有没有一种简单的方法可以更改两者之一以使用其他自定义模板标签 对于 Angular 1 0 您应该使用 interpolateProvider ap
  • 高优先级的自定义命令 Windows 服务

    我有一个部署在 Windows Server 2008 中的工作跟踪器 WPF 应用程序 该跟踪器应用程序正在通过 WCF 服务与 Tracker windows 服务进行通信 用户可以从 Worker Tracker GUI 应用程序创建
  • 如何使 css a:active 在点击后起作用?

    我正在尝试使菜单用作选项卡 选项卡本身工作正常 菜单链接也很棒 但我想删除活动选项卡的底部边框 使其看起来像在实际页面上 我尝试过使用 id a active但似乎只有当我按下链接时它才起作用 我也想过用 javascript 来做这件事
  • 在Python中获取Decimal的Ceil()?

    有没有办法在Python中获得高精度Decimal的ceil gt gt gt import decimal gt gt gt decimal Decimal 800000000000000000001 100000000000000000