在 Python 中四舍五入不适用于更高的数字

问题描述 投票:0回答:1

我正在尝试找出一种方法来四舍五入文本文件中的数字列表。 输入:-3.21804657e+163 预期输出:-3.21

我已经尝试使用 math.ceil 、舍入甚至小数运算符上面的代码,但它不起作用,这里有什么问题。我相信我的号码也有一些字符串值。怎样才能去掉呢。

python numpy decimal
1个回答
0
投票

-3.21804657e+163 是 python 中的有效数字,这是浮点数,而不是字符串。

您可以使用内置的 round() 在 Python 中对数字进行舍入。 在您的情况下,您想向 round() 提供一个负整数参数。 例如:

great_number = -3211

print(great_number)

print(round(great_number, -2))

给予:

-3211
-3200

但看起来您不想对数字进行四舍五入,而是要截断它。

如果我拿你的号码作为参考:

number = -3.21804657e+163
rounded_number = round(number, -161)

print(rounded_number)

输出:

-3.22e+163

这确实是对数字进行四舍五入。

© www.soinside.com 2019 - 2024. All rights reserved.