web-dev-qa-db-ja.com

qmlの数値を小数点以下2桁に丸める方法を教えてください。

33.088117576394794のような途方もなく長い実数があり、それらを倍精度(小数点以下2桁)に変換しようとしています。この場合、33.09が必要です。

QMLでこれをどのように行いますか?

4
Akiva

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)
    }
}
7
Sylvain Pineau