Python 如何停止打印小数点后3个空格的浮点?

Python 如何停止打印小数点后3个空格的浮点?,python,Python,对不起,我知道这一定是重复的,我找不到其他地方贴的。请随时将我链接到原始问题,并将此标记为副本 我想在小数点后打印一个3位数的数字。 例如: number = 523.637382 我想打印:523.637 我觉得我可以用类似的东西 print(str(number)[:7]) >>>523.637 但是,如果小数点前的数字不是3位小数,则这将不起作用 奖励积分: 这容易吗 number = 500.220 #magic >>>500.22 number

对不起,我知道这一定是重复的,我找不到其他地方贴的。请随时将我链接到原始问题,并将此标记为副本

我想在小数点后打印一个3位数的数字。 例如:

number = 523.637382
我想打印:523.637 我觉得我可以用类似的东西

print(str(number)[:7])
>>>523.637
但是,如果小数点前的数字不是3位小数,则这将不起作用

奖励积分: 这容易吗

number = 500.220
#magic
>>>500.22

number = 500.2000003
#magic
>>>500.2
可以执行此操作的(内置)函数是
round

>>> number = 523.637382
>>> rounded = round(number, 3) # 3 decimal places, for example
>>> rounded
523.637
例如,这已经得到了回答

回答问题的第二部分,好消息是
round
函数会自动删除尾随的零。如果要定义一个新变量,那么要保留零就要困难得多:需要
decimal
模块;但看起来这在这里是不必要的

>>> number = 523.60000001
>>> rounded = round(number, 3)
>>> rounded
523.6
可以执行此操作的(内置)函数是
round

>>> number = 523.637382
>>> rounded = round(number, 3) # 3 decimal places, for example
>>> rounded
523.637
例如,这已经得到了回答

回答问题的第二部分,好消息是
round
函数会自动删除尾随的零。如果要定义一个新变量,那么要保留零就要困难得多:需要
decimal
模块;但看起来这在这里是不必要的

>>> number = 523.60000001
>>> rounded = round(number, 3)
>>> rounded
523.6
或者,使用新样式的格式

print("{0:.3f}".format(number))
或者,使用新样式的格式

print("{0:.3f}".format(number))

如果您正在打印如上所述的
str
,则可以使用字符串插值:

number = 33.33333
print("{0:.3f}".format(number))
#=> 33.333

如果您正在打印如上所述的
str
,则可以使用字符串插值:

number = 33.33333
print("{0:.3f}".format(number))
#=> 33.333

在Java中,您可以使用占位符(如%.2f等)格式化字符串,以更改输出变量的小数位数/width/etc。。。在python中可能存在类似的东西?在Java中,可以使用占位符%.2f等格式化字符串。要更改输出变量的小数位数/width/etc。。。也许python中存在类似的东西?或者甚至
format(number,.3f”)
,因为它只是一个值。或者甚至
format(number,.3f”)
,因为它只是一个值。