我想用java将以下数字格式化为它们旁边的数字:
1000 to 1k
5821 to 5.8k
10500 to 10k
101800 to 101k
2000000 to 2m
7800000 to 7.8m
92150000 to 92m
123200000 to 123m
右边的数字将是long或整数,而左边的数字将是字符串。我应该如何处理。我已经为此做了很少的算法,但是我认为可能已经发明了一些更好的方法,并且如果我开始处理数十亿和数万亿,则不需要额外的测试:)
其他要求:
格式最多可包含4个字符
以上意味着1.1k是可以的11.2k不是。同样对于7.8m可以19.1m不可以。小数点前只能有一位数字。小数点前的两位表示小数点后没有位。
不需要四舍五入。(带有k和m附加显示的数字更多是模拟量规,它表示近似值而不是精确的逻辑术语。因此,舍入主要由于变量的性质而无关紧要,即使您正在查看缓存的结果,舍入也不会增加或减少几位数字。)
相关分类