如何将 qml 中的数字四舍五入到小数点后两位?

如何将 qml 中的数字四舍五入到小数点后两位?

我有一些非常长的实数,例如 33.088117576394794,我想将它们转换为双精度数(两位小数)。因此,在本例中,我想要 33.09。

您如何在 QML 中做到这一点?

答案1

您可以在 QML 中使用几乎所有的 JavaScript 语法(请参阅http://qt-project.org/doc/qt-5/ecmascript.html)。

最快的方法是Math.round(<NUM> * 100) / 100

(<NUM>).toFixed(2)有效(但根据这个太慢了问题在 SO)

以下代码片段展示了这两种实现:

import QtQuick 2.0
import Ubuntu.Components 0.1

MainView {
    id: root
    width: units.gu(50)
    height: units.gu(80)

    property var my_number: Math.round(33.088117576394794 * 100) / 100;
    property var my_number2: (33.088117576394794).toFixed(2);

    Component.onCompleted: {
        console.log(my_number)
        console.log(my_number2)
    }
}

相关内容