缩短大数以提高可读性

时间:2013-03-25 17:37:05

标签: c++ c++11 formatting string-formatting

是否有缩短较大数字的通用/更好方法?
数字> 1000应该缩短到两个小数位并附加一个'k',例如1543应该变成1.54k,而1504应该缩短到1.5k,1007缩短到1k。

对于数字>也应该这样做。 1000000,他们应该得到M附加 示例:5426849应缩短为5.42M(不介意5.43M),5403258缩短为5.4M 和5001485缩短为5M。

目前我有这个:

std::string letter(_sum > 1000000 ? "M" : _sum > 1000 ? "k" : "");
float displayValue(_sum > 1000000 ? _sum/1000000 : _sum > 1000 ? _sum/1000 : _sum);
printf("%.2g%s", displayValue, letter);

0 个答案:

没有答案