0

我想使用 将波斯数字转换为英文数字QLocale,​​我写了这段代码,但它失败了:

int main(void)
{
    QLocale english_number(QLocale::Language::English, QLocale::Country::UnitedStates);
    QTime time;

    time = english_number.toTime("۱۲:۳۲", "HH:mm");

    qDebug() << time;
}

控制台输出:

QTime(Invalid)

但是可以将英文数字转换为波斯数字:

QLocale persian_number(QLocale::Language::Persian, QLocale::Country::Iran);

time = persian_number.toTime("13:32", "HH:mm");

qDebug() << time;

控制台输出:

QTime("13:32:00.000")

我哪里做错了 ?

  • 数量: 5.14.1
  • 操作系统: Archlinux-5.6.7-arch1-1
  • 编译器: GCC 9.3
4

1 回答 1

1

我认为这是一个 Qt 错误,为了在转换为之前执行此操作,QTime我们需要将波斯数字int转换为然后转换为QTime.

于 2020-04-26T13:00:16.433 回答