格式化浮点数的十进制数字--python

格式化浮点数的十进制数字--python,python,digits,Python,Digits,我知道有很多方法可以做到这一点。但我尝试过的所有方法都给了我一个我不想要的结论。例如,有一个名为“偏航”的浮动值,它根据无人机的移动而不断变化。我想限制这个偏航值的位数。每当我尝试以下方法时: self.lbl_yaw.setText("{}".format(str(yaw), ".4f")) # first method yaw = round(yaw, 4)

我知道有很多方法可以做到这一点。但我尝试过的所有方法都给了我一个我不想要的结论。例如,有一个名为“偏航”的浮动值,它根据无人机的移动而不断变化。我想限制这个偏航值的位数。每当我尝试以下方法时:

        self.lbl_yaw.setText("{}".format(str(yaw), ".4f")) # first method
        yaw = round(yaw, 4)                                # second method
他们限制了数字121.5232,但每当这个值的最后一个数字变为0时,最后一个数字就会消失,看起来像:121.542,我想修正它。为什么它不给我121.5420??。我相信有一种方法我不知道。如果您能提供帮助,我将不胜感激。

您可以使用:

“{.4f}”。格式(偏航)
或者,如果您使用的是Python 3.6+,则可以使用
f-strings

f“{yaw:.4f}”
一些例子:

“{.4f}”。格式(4.1234)#它是'4.1234'
“{.4f}”。格式(4.1230)#它是'4.1230'
返回
str.format()
是字符串,
round()
返回浮点值。