gpt4 book ai didi

具有最少小数位数的 Python 格式小数

转载 作者:太空狗 更新时间:2023-10-30 01:29:59 25 4
gpt4 key购买 nike

我在 Python 中有一些 Decimal 实例。我希望将它们格式化为

Decimal('1')       => '1.00'
Decimal('12.0') => '12.00'
Decimal('314.1') => '314.10'
Decimal('314.151') => '314.151'

因此确保始终至少有两位小数,可能更多。虽然不乏舍入到 n 小数位的解决方案,但我找不到确保数字下限的巧妙方法。

我目前的解决方案是计算:

first  = '{}'.format(d)
second = '{:.2f}'.format(d)

然后取两者中较长的一个。然而,它似乎有点老套。

最佳答案

如果您希望避免字符串问题:

if d*100 - int(d*100):
print str(d)
else:
print ".2f" % d

未经测试的代码,但它应该可以工作。

它是这样工作的:

d = 12.345

100 次:

1234.5

负整数(1234.5)

1234.5 - 1234 = .5

.5 != 0

这意味着有 3 位或更多位小数。

打印海峡(12.345)

即使您执行 12.3405:

1234.05 - 1234 = .05

.05 != 0

但是如果你有 12.3:

1230 - 1230 = 0

这意味着用 %.2f 打印。

关于具有最少小数位数的 Python 格式小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11181295/

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