このページでは

JavaScript の Number オブジェクト

QML の Number オブジェクトは、ロケール対応の関数を備えた JS の Number オブジェクトを拡張したものです。

string Number::toLocaleString(locale, format, precision)

Number を、指定されたformat 内の指定されたlocale に適した文字列に変換し、指定されたprecision を適用します。

有効なフォーマットは次のとおりです。

  • 'f' 10進浮動小数点数。例: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

string Number::toLocaleCurrencyString(locale, symbol)

指定されたlocale の通貨および規則を使用して、Numberを通貨に変換します。symbol が指定されている場合、それが通貨記号として使用されます。

string Number::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 およびLocale::currencySymbol()も参照してください 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.