|
|
| 239行目: |
239行目: |
| // 該当するパターンを全て削除 | | // 該当するパターンを全て削除 |
| description.remove(tableTagPattern); | | description.remove(tableTagPattern); |
| </syntaxhighlight>
| |
| <br>
| |
| <syntaxhighlight lang="c++">
| |
| QByteArray byaryData = file.readAll();
| |
| QString strData = QString::fromUtf8(byaryData);
| |
| </syntaxhighlight>
| |
| <br>
| |
| <syntaxhighlight lang="c++">
| |
| // UTF-8でエンコードされた文字列
| |
| QString utf8Text = QStringLiteral("こんにちは");
| |
|
| |
| // Shift-JISのコーデックを取得
| |
| QTextCodec *codec = QTextCodec::codecForName("Shift-JIS");
| |
|
| |
| // UTF-8のQStringをShift-JISのQByteArrayに変換
| |
| QByteArray shiftJISBytes = codec->fromUnicode(utf8Text);
| |
| </syntaxhighlight>
| |
| <br>
| |
| <syntaxhighlight lang="c++">
| |
| // UTF-8でエンコードされた文字列
| |
| QString utf8Text = QStringLiteral("こんにちは");
| |
|
| |
| // EUC-JPのコーデックを取得
| |
| QTextCodec *codec = QTextCodec::codecForName("EUC-JP");
| |
|
| |
| // UTF-8の文字列をEUC-JPのQByteArrayに変換
| |
| QByteArray eucJPBytes = codec->fromUnicode(utf8String);
| |
|
| |
| // EUC-JPエンコードされたデータを16進数で表示
| |
| std::cout << eucJPText.toHex() << std::endl;
| |
| </syntaxhighlight>
| |
| <br>
| |
| <syntaxhighlight lang="c++">
| |
| #include <QCoreApplication>
| |
| #include <QVariant>
| |
| #include <cmath>
| |
|
| |
| QString convertNumberToString(const QVariant &value)
| |
| {
| |
| if (value.type() == QVariant::Int || value.type() == QVariant::LongLong) {
| |
| // 数値が整数の場合
| |
| return value.toString();
| |
|
| |
| // 戻り値が整数型の場合
| |
| //return value.toInt();
| |
| }
| |
| else if (value.type() == QVariant::Double) {
| |
| // 数値が浮動小数点の場合
| |
| double number = value.toDouble();
| |
|
| |
| // 戻り値がQStringクラスの場合、小数点以下を切り捨て
| |
| double intPart;
| |
| std::modf(number, &intPart);
| |
| return QString::number(intPart, 'f', 0); // 'f'フォーマットと0桁で小数点以下を除去
| |
|
| |
| // 戻り値が整数型の場合
| |
| //return static_cast<int>(std::floor(number));
| |
| }
| |
|
| |
| // その他の型の場合は空のQStringを返す
| |
| return QString();
| |
|
| |
| // 戻り値が整数型の場合、その他の型の場合は0を返す
| |
| //return 0;
| |
| }
| |
|
| |
| int main(int argc, char *argv[])
| |
| {
| |
| QCoreApplication app(argc, argv);
| |
|
| |
| // 整数を渡す例
| |
| QVariant intValue = 42;
| |
| QString intResult = convertNumberToString(intValue);
| |
| std::cout << QString("整数の結果 : %1").arg(intResult).toStdString() << std::endl; // "42"と表示
| |
|
| |
| // 浮動小数点数を渡す例
| |
| QVariant floatValue = 42.56;
| |
| QString floatResult = convertNumberToString(floatValue);
| |
| std::cout << QString("浮動小数点数の結果(小数点以下除去) : %1").arg(floatResult).toStdString() << std::endl; // "42"と表示
| |
|
| |
| return app.exec();
| |
| }
| |
| </syntaxhighlight> | | </syntaxhighlight> |
| <br> | | <br> |