問題タブ [qlocale]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
118 参照

c++ - QLocale - 価格の検証

価格の検証に問題があります。

承認された価格の例: 10,00 / 100,00 / 1.000,00

受け入れられない: 10 / 100 / 1000.00

コードですが、これは 100 / 10 / 1000.00 を渡します

0 投票する
1 に答える
3502 参照

qt - QLocale クラスを使用して数値を通貨文字列に変換する

数値を通貨文字列に変換しようとしています。QLocale::toCurrencyString()メソッドを使用しています。1872345.00システム ロケール (Windows 7 の地域と言語の設定で変更) をインドとして設定し、を使用して数値を変換しようとするとQLocale().toCurrencyString(1872345.00)、期待される通貨文字列が得られます。

QLocale().toCurrencyString(1872345.00)

しかし、 を呼び出すとQLocale(QLocale::AnyLanguage,QLocale::AnyScript,QLocale::India).toCurrencyString(1872345.00);、このようにフォーマットされた番号が表示されますが、これは正しくありません。

QLocale(QLocale::AnyLanguage,QLocale::AnyScript,QLocale::India).toCurrencyString(1872345.00)

異なるロケール スクリプトとロケール言語を選択してみました。しかし、正しい結果を得ることができませんでした。Qt 5.1.0 を使用しています。使用すると正しい結果が得QLocale().toCurrencyString() られますが、システムロケールで設定された国だけでなく、複数の国の通貨を扱っているため、使用できません。この間違った結果が得られるのはなぜですか? 数値を (異なる国の) 通貨文字列に変換するにはどうすればよいですか?

コード例を次に示します。

//CurrencyForms.h

//CurrencyForms.cpp

//main.cpp

//main.qml

//結果 ここに画像の説明を入力

ここで、デフォルトのシステム ロケールはヒンディー語インドに設定されています (Windows 7 の地域と言語の設定による)。

0 投票する
0 に答える
251 参照

qt - QLocale を使用して繁体字中国語と簡体字中国語を区別する方法

ユーザーが選択できる言語のリストを表示する必要があります。リストには、オペレーティング システムの言語である最初のオプションとして (自動) があり、アドオンとしてその他の言語があります。

ここに示すように

ここでは、英語が自動言語です。

ここでの問題は、OS 言語が中国語の場合、簡体字と繁体字をどのように区別するかです。私のコードは次のとおりです。

ここで、loc.script() は常に「任意のスクリプト」オプションを示す 0 を返します。オペレーティング システムの言語が中国語の場合、簡体字と繁体字を区別するにはどうすればよいですか? script() が適切な値を返さないのはなぜですか?

0 投票する
0 に答える
396 参照

qt - Qtは言語名をネイティブ形式で取得します

現在 QLocale と QTranslator を使用している Qt C++ アプリケーションに言語サポートを追加しています。ユーザーが設定メニューから言語を選択すると、ネイティブ形式 (ドイツ語ではなくドイツ語など) で言語名を表示したいのですが、ロケール コードを指定すると、QLocale は現在のロケール (つまり英語) に従って名前を返します。 .

QLocale または Qt で見逃した何かを使用してネイティブ形式で言語名を取得する方法はありますか。

0 投票する
1 に答える
2252 参照

c++ - コンマを含む文字列をQTで浮動小数点に変換する方法は?

私のcsvファイルの値では、小数点はコンマです。そのため、Excel で csv を開くことができますが、Excel は現在までの値をフォーマットしません。

自分のソフトウェアでファイルを開き、文字列を浮動小数点数に変換すると、値を読み取ることができません: bool ok は false を返します。

0 投票する
1 に答える
1716 参照

qt - Qt なぜ QLocale().toString() よりも QString::number() を使うのですか?

私が取り組んでいるアプリケーションは、多くの国でリリースされ、その言語をサポートする必要があります。私は自分のコードに戻って、次のすべてのインスタンスを置き換えてきました:

QString::number()QString().toDouble()

QLocale().toString()QLocale().toDouble()

2 つのクラスをオンラインで比較したものはあまり見つかりませんでしたが、後者を使用した場合の影響に興味がありQStringます。

基本的に、これらすべての変更を行う前に、コードに害を与えていないことを確認したいだけです。どなたか知識のある方はいらっしゃいませんか?

0 投票する
1 に答える
912 参照

c++ - QLocale と QSettings

前提: 私は qt5.7 を使用して osx を使用していますSystem Preferences- Language and Region-の小数点記号をAdvancedコンマを使用するように変更しました:

ここに画像の説明を入力

QLocaleを介した値の保存/復元に問題がありますQSettings

これは次のmain.cppとおりです。

これは私のもの.proです:

出力は次のとおりです。

"English" "Latin" "UnitedStates" ',' - "System OK"

「英語」「ラテン語」「米国」「.」- 「QSettings NOT OK」

「英語」「ラテン語」「米国」「.」-「ハンガリー語はまだOKではありません」

QLocaleカンマを小数点記号として使用していることを認識しているようですが、これQLocaleが格納されQSettingsて読み戻されると、Qtはそれを回復しません。

また、ここで説明されているハックを試してみても、https://stackoverflow.com/a/11603299/2743307は機能しません。