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 TypeScript

2 Answers

0 votes
/**
 * Counts digits by converting the number to a string.
 * This approach is clear, safe, and widely used in everyday TypeScript code.
 */
function countDigitsString(value: number): number {
  const text: string = value.toString();

  // If negative, ignore the leading '-'
  if (text.startsWith("-")) {
    return text.length - 1;
  }

  return text.length;
}

const number1: number = -12345;
const digits1: number = countDigitsString(number1);

console.log("Number:", number1);
console.log("Digit count (String method):", digits1);



/*
run:

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

*/

 



answered Jan 7, 2022 by avibootz
edited 1 day ago by avibootz
0 votes
/**
 * Counts digits using Math.log10.
 * Uses the formula: floor(log10(n)) + 1
 * Zero is handled separately because log10(0) is undefined.
 */
function countDigitsLog10(value: number): number {
  const num: number = Math.abs(value);

  if (num === 0) {
    return 1;
  }

  return Math.floor(Math.log10(num)) + 1;
}

const number2: number = 987654321;
const digits2: number = countDigitsLog10(number2);

console.log("Number:", number2);
console.log("Digit count (log10 method):", digits2);


/*
run:

Number: 987654321
Digit count (log10 method): 9

*/

 



answered Jan 7, 2022 by avibootz
edited 1 day ago by avibootz
...