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

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

可以看到是符合预期的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容