顺便说一句,使用 Java。但通常人们似乎会做这种事情。
int numDigits = (int)(log10(num)+1); //can explicitly floor, or casting to int will do that
但是 log10(0) = -INF,这意味着我的长度被设置为最大的负整数值。
我想我可以提出条件
if (numDigits is negative)
numDigits = 1 //not 0 because I'm counting 0 as 1 digit.
这用于实现自然数构造函数,以便人们了解我的问题。