gpt4 book ai didi

python - 如何将字符串转换为十进制数以在 Python 中进行算术运算?

转载 作者:行者123 更新时间:2023-11-28 23:01:31 34 4
gpt4 key购买 nike

以下类似的帖子没有回答我的问题。 Convert a string to integer with decimal in Python

考虑以下 Python 代码。

>>> import decimal
>>> s = '23.456'
>>> d = decimal.Decimal(s)
>>> d
Decimal('23.456') # How do I represent this as simply 23.456?
>>> d - 1
22 # How do I obtain the output to be 22.456?

如何将字符串转换为十进制数,以便能够对其执行算术函数并获得具有正确精度的输出?

最佳答案

如果您想保留十进制 数字,最安全的方法是转换所有内容:

>>> s = '23.456'
>>> d = decimal.Decimal(s)

>>> d - decimal.Decimal('1')
Decimal('22.456')
>>> d - decimal.Decimal('1.0')
Decimal('22.456')

在 Python 2.7 中,有整数的隐式转换,但没有 float 。

>>> d - 1
Decimal('22.456')
>>> d - 1.0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'Decimal' and 'float'

关于python - 如何将字符串转换为十进制数以在 Python 中进行算术运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10971468/

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