我担心这个问题会有一个简单明显的答案。我需要确定一个项目的宽度是多少个数字,以便可以用保持对齐所需的最小前导零数填充每个项目号。例如,如果总数小于10,则我不希望前导零;如果介于10到99之间,则我不希望前导零。
一种解决方案是将项目计数转换为字符串,然后计数字符。 !有没有更好的办法?
编辑:我不会想到使用common logarithm(我不知道存在这样的事情)。因此,对我而言,这并不明显,但绝对简单。
最佳答案
应该这样做:
int length = (number ==0) ? 1 : (int)Math.log10(number) + 1;
关于zero-pad - 如何在不使用字符串强制转换的情况下计算整数中的位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/554521/