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

Ano*_*non 7 programming application-development qml ubuntu-sdk

我有这些长得可笑的实数,例如 33.088117576394794,我正在尝试将它们转换为双精度数(两位小数)。所以在这种情况下,我想要 33.09。

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

Syl*_*eau 11

您几乎可以使用 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)
    }
}
Run Code Online (Sandbox Code Playgroud)