Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,709 questions

55,473 answers

573 users

How to count the number of digits in an integer with Python

2 Answers

0 votes
def count_digits_string(value: int) -> int:
    """
    Counts digits by converting the number to a string.
    This approach is clear, safe, and widely used in everyday Python code.
    """
    text = str(value)

    # If negative, ignore the leading '-'
    if text.startswith("-"):
        return len(text) - 1

    return len(text)


number = -12345
digits = count_digits_string(number)

print("Number:", number)
print("Digit count (String method):", digits)


"""
run:

Number: -12345
Digit count (String method): 5

"""

 



answered Jul 24, 2021 by avibootz
edited 1 day ago by avibootz
0 votes
import math

def count_digits_log10(value: int) -> int:
    """
    Counts digits using log10.
    Uses the formula: floor(log10(n)) + 1
    Zero is handled separately because log10(0) is undefined.
    """
    num = abs(value)

    if num == 0:
        return 1

    return int(math.floor(math.log10(num))) + 1


number = 987654321
digits = count_digits_log10(number)

print("Number:", number)
print("Digit count (log10 method):", digits)


"""
run:

Number: 987654321
Digit count (log10 method): 9

"""

 



answered 1 day ago by avibootz
...