如果它是三位数,我不想要更改号码。 我想转换它 如果数字是1000-1049而不是1K,如果数字是这样的话 1050-1100比它显示1.1K等等。
如果您有任何想法,请告诉我。感谢
答案 0 :(得分:0)
前一段时间有同样的任务。找到了一些不错的代码片段,但没有链接了。
public static void main (String[]args) {
for (long num : new long[] { 999,1000,1049,1050,1100,5432, 19999, 654321, 7000000, 7654321, 80010000, 88888888, 9999999 })
System.out.println(formatNumber(num));
}
public static String formatNumber(long count) {
if (count < 1000) return "" + count;
int exp = (int) (Math.log(count) / Math.log(1000));
return String.format("%.1f %c", count / Math.pow(1000, exp),"kMGTPE".charAt(exp-1));
}