- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我写了一个函数,用于将数字四舍五入到点右侧的一定数量的数字。但我仍然不明白如何正确定义与 quantize 一起使用的比例。
在下面的例子中,res1
和 res2
返回预期的结果。我发现了不同的例子来定义浮点数后有 2 个数字的比例。使用“1.00”和“0.01”有什么区别?两者似乎以相同的方式工作。
至于res3
当我将浮点数传递给 Decimal 构造函数以获取 number_3 - ROUND_HALF_UP
似乎不在那里工作。为什么会发生这种情况?我应该如何定义从浮点数创建的小数的比例?
如果我将浮点数作为输入是获得量化工作的唯一方法 - 首先将浮点数转换为字符串?
from decimal import Decimal, ROUND_HALF_UP
def custom_round(dec: Decimal, scale, rounding_mode):
return dec.quantize(Decimal(scale), rounding_mode)
number_1 = Decimal("10.026")
res1 = custom_round(number_1, "1.00", ROUND_HALF_UP)
print(res1) # 10.03
number_2 = Decimal("28.525")
res2 = custom_round(number_2, "0.01", ROUND_HALF_UP)
print(res2) # 28.53
number_3 = Decimal(28.525)
res3 = custom_round(number_3, "0.01", ROUND_HALF_UP)
print(res3) # 28.52
最佳答案
在这种情况下,“1.00”和“0.01”之间没有区别。与二进制浮点数不同,十进制实例具有有效尾随零的概念,它只是内部指数 quantize()
使用。的确,
>>> custom_round(Decimal("28.525"), "1234.56", ROUND_HALF_UP)
Decimal('28.53')
>>> custom_round(Decimal("28.525"), "000000.00", ROUND_HALF_UP)
Decimal('28.53')
也以同样的方式工作。
number_3
转换为:
>>> number_3
Decimal('28.52499999999999857891452847979962825775146484375')
float->decimal 转换是精确的,并且浮点文字 28.525 在内部由一个二进制浮点数表示,该浮点数仅近似于十进制 28.525(其中
不能 完全表示为二进制浮点数 - 您会得到最接近的二进制近似值反而)。该二进制近似值的精确十进制值 - 如图所示 - 比十进制 28.525 小一点。这就是它四舍五入的原因。
关于Python - 如何为 Decimal.quantize 定义舍入比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63980921/
如果我执行以下操作,我希望 0.005 向上舍入为 0.01 而不是向下舍入为 0.00,因为舍入设置为ROUND_HALF_UP。 >>> import decimal >>> currency =
我正在寻找一种使用OpenCV获取给定图像中每个像素的所有RGB值的完整列表的方法,现在我称之为“颜色量化”。 问题是,根据我在网上找到的信息,至少在这一点上,这种“色彩量化”是关于直方图或“色彩
在使用 Decimal 数据类型时,我偶然发现了量化方法的问题,它似乎给出了舍入错误: Decimal('1.0055').quantize(Decimal('0.000')) # Should ou
是否有适用于 -quantize transparent 的 PHP Imagick 等效项??? -quantize transparent usage example注意:在页面中搜索“-quan
如何使用 float32 转换 Tensorflow 图至 float16 ?目前有用于量化和转换为八位整数的图形优化。 正在尝试加载 float32权重变成 float16图失败: DataLoss
我写了一个函数,用于将数字四舍五入到点右侧的一定数量的数字。但我仍然不明白如何正确定义与 quantize 一起使用的比例。 在下面的例子中,res1和 res2返回预期的结果。我发现了不同的例子来定
我只是想知道是否有人对如何改进此代码有任何意见。我的目标是让它尽可能像 pythonic,因为我正在努力真正学好 python。该程序运行良好,但如果您发现任何您认为可以改进的地方(不是重大更改,只是
我有一系列 pandas 数据,它是一条曲线。 我想以使其“阶梯式”的方式对其进行舍入。此外,我希望步长大致在当前值的 10% 以内。 (另一种说法是我希望步数以 10% 的增量增加,即几何级数)。
所以我正在研究一种从图像中提取人类感知的主色的方法。 例如,这是一张照片:https://500px.com/photo/63897015/looking-out-for-her-kittens-by
查看 Decimal 我尝试将 pi 转换为各种精度。我可以使用下面的前两个选项调用 pi.quantize() 但它会引发 InvalidOperation 与第三个选项。 pi 的精度远不及...
我正在尝试找到一种方法来在数学运算后将数字捕捉或量化为特定值,但我真的不知道解决该问题的最佳方法。 具体例子: 我有一个数字列表,我想将其作为我的主数字 - 5、10、30、60、120、180 我有
我的意思不是技术差异是什么,而是更快/更合乎逻辑或 Pythonic 等方法是什么: def __quantized_price(self): TWOPLACES = Deci
使用 tflite 并获取解释器的属性,例如: print(interpreter.get_input_details()) [{'name': 'input_1_1', 'index': 47, '
我希望这里有人可以帮助我:我正在尝试实现一个神经网络来查找以二维集群形式呈现的数据集群。我尝试遵循 wikipedia 上描述的标准算法:我寻找每个数据点的最小距离,并更新该神经元对数据点的权重。当总
PIL.Image.quantize 的文档页面给出: Image.quantize(colors=256, method=None, kmeans=0, palette=None, dither=1
如果您熟悉 Microsoft Log Parser,您可能会认识 Quantize 函数,该函数会将一个值截断为另一个值的最接近倍数。将日期时间字段分组为增量非常方便。 Date-Time
我知道这个问题已经被问过很多次了,但不知何故没有成功。我在模型宋中有这个模型字段。 sent_score = models.DecimalField(default= 0.0,max_digits=4
我是量化新手,正在学习 QuantizedConv2D 操作在 tensorflow 中的用法。代码如下 import tensorflow as tf a = tf.constant([1.5,1.
从文档中,定义为: 量化 ..a variant of linear scales with a discrete rather than continuous range. The input do
我正在尝试使用 TensorFlow lite 部署一个简单的测试应用程序。我想在我的设备上使用 Coral Edge TPU Stick,因此我必须执行量化感知训练。我想要拟合函数 f(x) = 2
我是一名优秀的程序员,十分优秀!