gpt4 book ai didi

python - 格式化十进制类型以便于使用控制台显示?

转载 作者:太空宇宙 更新时间:2023-11-04 02:58:56 26 4
gpt4 key购买 nike

我正在向控制台输出十进制类型。我不想显示整个十进制数,只是为了让用户拥有他们需要的数据。

问题是相关的显示精度会因程序而有很大差异。我不知道要显示小数点后多远。

这...

916.950000000000045474735088646411895751953125

...包含程序所需的精度,但用户完全不需要查看。

相反,我希望用户看到这个:

916.95

但我可以很容易地拥有这个:

916.95000350000000045474735088646411895751953125

用户需要看到这个:

916.9500035

如果我在显示之前将 Decimal 类型转换为 float,我将获得必要的显示精度。但这会增加更多的处理器时间。

最佳答案

您可以使用您想要的精度打印您的号码:

print '%.2f' %  value

另外,如果你想在打印之前四舍五入你的数字:

round (value, 2)

在这两个示例中,您可以将“2”设置为另一个数字,指定您想要的精度。

如果你不知道你想要的精度,你可以使用它,设置要在小数部分打印的最大位数:

def print_dec(number, max) :
integer = int(number)
decimal = str(number-integer)[2:]
#Truncate the decimal part to max
decimal = decimal[:max]
#Remove '0'
for c in reversed(decimal) :
if c == '0' :
decimal = decimal[:-1]
else :
break;
# Reconstruct the number for printing
print ("{}.{}".format(integer, decimal))

这样,您将拥有:

a = 916.95030000
print_dec (a, 1)
print_dec (a, 2)
print_dec (a, 5)
print_dec (a, 6)

>> 916.9
>> 916.95
>> 916.9503
>> 916.9503

关于python - 格式化十进制类型以便于使用控制台显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41586398/

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