我想在QCustomPlot的轴上设置数字的格式。我知道如何处理小数精度,但不知道如何在大数字的情况下使用空格而不是逗号。
我希望数字看起来像这样:
1.045 (decimals separated with a dot)
1 000 (thousands separated with space, currently I get 1,000)
有一个方法QCPAxis :: setNumberFormat,这似乎不是我想要的。
答案 0 :(得分:1)
您需要继承QCPAxisTicker并重新实现getTickLabel方法
我找不到将空格作为组分隔符并将点作为小数点的区域设置,因此我使用QString替换函数来制作“自定义分隔符”。
快速而肮脏的例子:
QString getTickLabel (double tick, const QLocale &locale, QChar formatChar, int precision) {
QLocale l;
QString number = l.toString(tick, 'g', 15);
number.replace(l.decimalPoint(), ".");
number.replace(l.groupSeparator(), " ");
return number;
}
输入:
1000000.1411
输出:
"1 000 000.1411"