zero-pad - 如何在不使用字符串强制转换的情况下计算整数中的位数?

标签 zero-pad

我担心这个问题会有一个简单明显的答案。我需要确定一个项目的宽度是多少个数字,以便可以用保持对齐所需的最小前导零数填充每个项目号。例如,如果总数小于10,则我不希望前导零;如果介于10到99之间,则我不希望前导零。

一种解决方案是将项目计数转换为字符串,然后计数字符。 !有没有更好的办法?

编辑:我不会想到使用common logarithm(我不知道存在这样的事情)。因此,对我而言,这并不明显,但绝对简单。

最佳答案

应该这样做:

int length = (number ==0) ? 1 : (int)Math.log10(number) + 1;

关于zero-pad - 如何在不使用字符串强制转换的情况下计算整数中的位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/554521/

相关文章:

java - 在 Java 中对微调器进行零填充

matlab - 通过傅立叶空间填充进行插值

fft - Julia 中的零填充 FFT

Java将任何整数转换为4位数字

java - 用尾随零填充 DateTimeFormatter

java - 如何在整数的左侧填充零?

Ruby 字符串填充零 OPE ID

没有零填充的 Python 日期时间格式

matlab - 高效快速的padarray矩阵方法