在python中打印数字

Pau*_*aul 13 python

我有一个生成一些数字的脚本(特别是以纪元形式出现的次数).

每次生成一个数字时,我都会将数字附加到一个数组(称为VALUES)并打印数组和该数字.但是,该数字不包含小数点后与数组中的数字一样多的位数.

例如,示例输出将如下所示(经过3次迭代):

VALUES = [733948.45278935181, 733948.45280092594, 733948.45280092594]
Number = 733948.452801
Run Code Online (Sandbox Code Playgroud)

数组中的第三个数字对应于Number中的值.

为什么它们在小数点后包含不同数量的位置?

偏离主题:小数点后的数字是什么?我以为他们有一些数学术语我只是不记得它是什么.

注意:代码是在python中.

Don*_*ner 11

当python打印出一个数字时,它有时会根据内部方法是调用repr还是str(它们都将数字转换为字符串)打印出更多小数位.repr将返回更多的小数位,而str则不会.

print电话str,所以当你这样做时print Number,它会稍微修剪一下.但是,当您将数字列表转换为字符串时print VALUES,列表将在内部使用repr,从而为其提供更多小数位.

总之,根据打印方式,您将看到不同的小数位数.但是,在内部,它仍然是相同的数字.

如果要强制它使用特定数量的小数位,可以执行以下操作:

print "%.3f" % 3.1415   # prints 3.142
Run Code Online (Sandbox Code Playgroud)