数字 QML 类型

Number 对象表示一个数值。 更多...

导入语句import QtQml

方法

详细说明

Qt QML 数字对象扩展了 JavaScript 数字对象,具有地区感知功能。

另请参阅 Locale.

方法说明

string fromLocaleString(locale, number)

通过使用提供的 locale 的约定解析 number 来返回一个 Number。

如果没有提供 locale,则使用默认地区。

例如,使用德国地区

var german = Qt.locale("de_DE");
var d;
d = Number.fromLocaleString(german, "1234,56")   // d == 1234.56
d = Number.fromLocaleString(german, "1.234,56") // d == 1234.56
d = Number.fromLocaleString(german, "1234.56")  // throws exception
d = Number.fromLocaleString(german, "1.234")    // d == 1234.0

另请参阅 Locale.


string toLocaleCurrencyString(locale, symbol)

将 Number 转换为指定 locale 的货币。如果指定了 symbol,则用作货币符号。

另请参阅 Locale::currencySymbol().


string toLocaleString(locale, format, precision)

将 Number 转换为适用于指定 locale、指定 format 和指定 precision 的字符串。

有效的格式有

  • 'f' 十进制浮点数,例如 248.65
  • 'e' 使用 e 字符的科学表示,例如 2.4865e+2
  • 'E' 使用 E 字符的科学表示,例如 2.4865E+2
  • 'g' 使用 e 或 f 中的较短的格式
  • 'G' 使用 E 或 f 中的较短的格式

如果未指定精度,精度将为 2。

如果没有指定格式,将使用 'f'。

如果没有指定 locale,则使用默认地区。

以下示例显示了用于德国地区的格式化数字

import QtQuick 2.0

Text {
    text: "The value is: " +  Number(4742378.423).toLocaleString(Qt.locale("de_DE"))
}

您可以通过自定义 locale 的各个字段来紧密控制输出

let locale = Qt.locale("de_DE");
let a = Number(1000).toLocaleString(locale)); // a == 1.000,00
locale.numberOptions = Locale.OmitGroupSeparator;
let b = Number(1000).toLocaleString(locale)); // b == 1000,00

您可以将 toLocaleString() 直接应用于常量,前提是常量中包含小数,例如

123.0.toLocaleString(Qt.locale("de_DE")) // OK
123..toLocaleString(Qt.locale("de_DE"))  // OK
123.toLocaleString(Qt.locale("de_DE"))   // fails

另请参阅 Locale.


© 2024 Qt 公司有限公司。此处包括的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 和相应的标志是芬兰和/或其他国家的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。