如何格式化数字?

时间:2015-11-28 16:47:44

标签: c++ windows qt formatting qstring

如何按以下方式格式化数字?

输入:

123

输出:

1.2-3

在C#中,执行该作业的整数类型有ToString()重载:

123.ToString(@"0\.0-0"); //output 1.2-3

Qt中有这样的东西吗?我确实阅读了QString文档,但无法做到这一点。

2 个答案:

答案 0 :(得分:2)

没有用于将整数格式化为字符串的内置函数,但您可以通过自己的自定义函数执行自定义格式设置。

答案 1 :(得分:2)

例如,你可以这样做:

int number = 123;
QString s = QString("%1.%2-%3").arg(
    QString::number((number / 100) % 10),
    QString::number((number / 10) % 10),
    QString::number(number % 10));

或:

QString s = QString::number(123);
s.insert(1, QChar('.'));
s.insert(3, QChar('-'));