我如何使用 QLocale 将波斯语数字转换为英语数字?

How i could convert Persian numbers to English numbers using QLocale?

我想使用 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")

我哪里错了?

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