Qt QML 杂记

QML 中实现类似 Intl.NumberFormat 的功能

2021-03-30  本文已影响0人  赵者也

Intl.NumberFormat 是 JS 中对语言敏感的格式化数字类的构造器类,JS 的语法:

new Intl.NumberFormat([locales[, options]])
Intl.NumberFormat.call(this[, locales[, options]])

QML 中是没有 Intl 的,但是 QML 提供了 locale 方法:

    function format(number) {
        return Number(number).toLocaleString(Qt.locale("en_US"));
    }

下面是一段测试代码:

import QtQuick 2.12
import QtQuick.Window 2.12

Window {
    visible: true
    width: 1000
    height: 400
    color: "white"
    title: "Test format number"

    function format(number) {
        return Number(number).toLocaleString(Qt.locale("en_US"));
    }

    Component.onCompleted: {
        console.log("ZDS==========", format(12.343))
        console.log("ZDS==========", format(12.345))
    }
}

输出结果:

qml: ZDS========== 12.34
qml: ZDS========== 12.35

可以看到是符合预期的。

上一篇下一篇

猜你喜欢

热点阅读