How to get the number of digits. Casting the mold is a bit cumbersome but easy. [Addition] In the comment, I mentioned it because I was told how to do it smarter!
Convert a number to a string to get the length. If it is a negative number, the minus sign will be included in the number of digits, so convert it to an absolute value.
num = -12345 num = abs(num) #Convert to absolute value num_str = str(num) #Convert to string num_digits = len(num) #Get the length (number of digits) of the character string print(num_digits) #Execution result 5
Or in one line
num = -12345 num_digits = len(str(abs(num))) #Batch conversion print(num_digits) #Execution result 5
It is basically the same as the case of integers, but since it is the number of digits, the decimal point is excluded.
num = 0.123456 num = abs(num) num_str = str(num).replace(".","") #Ignore the decimal point num_digits = len(num) print(num_digits) #Execution result 7
Count using isdigit () to determine if it is a number. Both integers and decimals can be written in this way.
def count_digit(value): return sum(c.isdigit() for c in str(value)) print(count_digit(-12345)) #Execution result 5 print(count_digit(0.12345)) #Execution result 6 print(count_digit(-3.14)) #Execution result 3