gpt4 book ai didi

Python Decimal 与 C# decimal 精度

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:25 25 4
gpt4 key购买 nike

<分区>

我知道这个问题已经被问过很多次了,我也看过很多博客和 SO 答案,但这个问题让我抓狂。我只想将一个两位小数乘以 100,这样我就去掉了它的小数:

>>> 4321.90 * 100
432189.99999999994
>>> Decimal(4321.90) * Decimal(100)
Decimal('432189.9999999999636202119291')

对于这种看似微不足道的操作,我不敢使用舍入。会安全吗?如果精度问题给我带来了麻烦,结果接近 xxx.5 怎么办?那会发生吗?我确实理解二进制级别的问题,但我来自 C#,我对 .Net 的 decimal 类型没有这个问题:

decimal x = 4321.90m;
decimal y = 100m;
Console.WriteLine(x * y);
432190,00

我认为 Python 的 decimal 模块应该可以解决这个问题。我正准备将初始值转换为字符串并使用字符串操作进行数学运算,对此我感到很遗憾...

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com