数字 QML 类型
Number 对象表示一个数值。 更多...
导入语句 | import QtQml |
方法
- string fromLocaleString(locale, number)
- string toLocaleCurrencyString(locale, symbol)
- string toLocaleString(locale, format, precision)
详细说明
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. 的商标。所有其他商标均为其各自所有者的财产。