web-dev-qa-db-fra.com

Comment arrondir les nombres en qml à deux décimales?

J'ai ces nombres réels ridiculement longs tels que 33.088117576394794, et j'essaye de les convertir en doubles (Deux décimales). Donc, dans ce cas, je veux 33.09.

Comment faites-vous cela dans QML?

4
Akiva

Vous pouvez utiliser presque toute la syntaxe javascript dans QML (voir http://qt-project.org/doc/qt-5/ecmascript.html ).

La méthode la plus rapide est Math.round(<NUM> * 100) / 100

Mais (<NUM>).toFixed(2) fonctionne (mais est trop lent selon cela question sur SO)

L'extrait de code suivant présente les deux implémentations:

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