Joeby
Joeby

Reputation: 21

Error in Function to Determine number of digits in a number

I have a simple javascript function that tells me how many digits are in a number.

My Problem: On the last line I get a compiler error saying "Missing last ')' parenthisis". I am altering a snippet I found through google & it uses the function Math.log10() but I am not sure a function like this exists?

Can you help me to determine the number of digits in a number (eg 1000 = 4, 10 = 2, etc.)?

function getDigitCount( number )
{
    //return ((number ==0) ? 1 : (int)Math.log10(number) + 1);

    if ( (number == 0) )
    {
        return 1;
    }
    else return ((int)Math.log10(number) + 1);
}

Upvotes: 2

Views: 274

Answers (2)

Emmanuel Devaux
Emmanuel Devaux

Reputation: 3407

You may try this:
Assuming that "number" is a positive integer value

function getDigitCount(number)
{
   var c = "x" + number;
   return c.length -1;
}

Upvotes: 1

Digital Plane
Digital Plane

Reputation: 38264

You cannot cast to an int in Javascript. Instead, use Math.floor. Also, divide by Math.log(10) (or Math.LN10) instead of using Math.log10() to find the base 10 logarithm of a number.:

else return (Math.floor(Math.log(number)/Math.log(10)) + 1);

Upvotes: 4

Related Questions