Python 如何停止打印小数点后3个空格的浮点?
对不起,我知道这一定是重复的,我找不到其他地方贴的。请随时将我链接到原始问题,并将此标记为副本 我想在小数点后打印一个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
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”)
,因为它只是一个值。