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

Formatting decimal digits of an float number? --PYTHON

亲切的问候朋友们,我知道有很多方法可以做到。但是我尝试过的所有方法都给我一个我不想要的结论。例如,有一个名为 'yaw' 的浮点值,它会根据无人机的运动而不断变化。我想限制这个偏航值的位数。每当我尝试以下方法时:

        self.lbl_yaw.setText("{}".format(str(yaw), ".4f")) # first method
        yaw = round(yaw, 4)                                # second method

他们限制了数字 121.5232,但是每当这个值的最后一个数字变为 0 时,最后一个数字就会消失,看起来像:121.542,我想修复它。为什么它不给我 121.5420 ??.我确定有一种我不知道的方法。如果您能提供帮助,我将不胜感激。

您可以使用:

"{:.4f}".format(yaw)

或者如果您使用的是 Python 3.6+,则可以使用 f-strings

f"{yaw:.4f}"

一些例子:

"{:.4f}".format(4.1234)  # it is '4.1234'
"{:.4f}".format(4.1230)  # it is '4.1230'