問題タブ [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.
c++ - QLocale - 価格の検証
価格の検証に問題があります。
承認された価格の例: 10,00 / 100,00 / 1.000,00
受け入れられない: 10 / 100 / 1000.00
コードですが、これは 100 / 10 / 1000.00 を渡します
qt - QLocale クラスを使用して数値を通貨文字列に変換する
数値を通貨文字列に変換しようとしています。QLocale::toCurrencyString()
メソッドを使用しています。1872345.00
システム ロケール (Windows 7 の地域と言語の設定で変更) をインドとして設定し、を使用して数値を変換しようとするとQLocale().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 の地域と言語の設定による)。
qt - QLocale を使用して繁体字中国語と簡体字中国語を区別する方法
ユーザーが選択できる言語のリストを表示する必要があります。リストには、オペレーティング システムの言語である最初のオプションとして (自動) があり、アドオンとしてその他の言語があります。
ここでは、英語が自動言語です。
ここでの問題は、OS 言語が中国語の場合、簡体字と繁体字をどのように区別するかです。私のコードは次のとおりです。
ここで、loc.script() は常に「任意のスクリプト」オプションを示す 0 を返します。オペレーティング システムの言語が中国語の場合、簡体字と繁体字を区別するにはどうすればよいですか? script() が適切な値を返さないのはなぜですか?
qt - Qtは言語名をネイティブ形式で取得します
現在 QLocale と QTranslator を使用している Qt C++ アプリケーションに言語サポートを追加しています。ユーザーが設定メニューから言語を選択すると、ネイティブ形式 (ドイツ語ではなくドイツ語など) で言語名を表示したいのですが、ロケール コードを指定すると、QLocale は現在のロケール (つまり英語) に従って名前を返します。 .
QLocale または Qt で見逃した何かを使用してネイティブ形式で言語名を取得する方法はありますか。
c++ - コンマを含む文字列をQTで浮動小数点に変換する方法は?
私のcsvファイルの値では、小数点はコンマです。そのため、Excel で csv を開くことができますが、Excel は現在までの値をフォーマットしません。
自分のソフトウェアでファイルを開き、文字列を浮動小数点数に変換すると、値を読み取ることができません: bool ok は false を返します。
qt - Qt なぜ QLocale().toString() よりも QString::number() を使うのですか?
私が取り組んでいるアプリケーションは、多くの国でリリースされ、その言語をサポートする必要があります。私は自分のコードに戻って、次のすべてのインスタンスを置き換えてきました:
QString::number()
とQString().toDouble()
と
QLocale().toString()
とQLocale().toDouble()
2 つのクラスをオンラインで比較したものはあまり見つかりませんでしたが、後者を使用した場合の影響に興味がありQString
ます。
基本的に、これらすべての変更を行う前に、コードに害を与えていないことを確認したいだけです。どなたか知識のある方はいらっしゃいませんか?
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は機能しません。