2

有没有通用/更好的方法来缩短更大的数字?
大于 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);
4

0 回答 0