Javascript 确定数字中位数的函数出错

Javascript 确定数字中位数的函数出错,javascript,html,Javascript,Html,我有一个简单的javascript函数,它告诉我一个数字有多少位 我的问题:在最后一行,我收到一个编译器错误,上面写着“Missing last”)“parenthisis”。我正在修改通过google找到的一个片段&它使用了函数Math.log10(),但我不确定这样的函数是否存在 你能帮我确定一个数字的位数吗(如1000=4,10=2等) 不能在Javascript中强制转换为int。相反,使用Math.floor。此外,用Math.log(10)(或Math.LN10)除,而不是使用Mat

我有一个简单的javascript函数,它告诉我一个数字有多少位

我的问题:在最后一行,我收到一个编译器错误,上面写着“Missing last”)“parenthisis”。我正在修改通过google找到的一个片段&它使用了函数Math.log10(),但我不确定这样的函数是否存在

你能帮我确定一个数字的位数吗(如1000=4,10=2等)


不能在Javascript中强制转换为
int
。相反,使用
Math.floor
。此外,用
Math.log(10)
(或
Math.LN10
)除,而不是使用
Math.log10()
来查找数字的以10为底的对数:

else return (Math.floor(Math.log(number)/Math.log(10)) + 1);
您可以试试这个:
假设“number”是正整数值

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

返回(“+number).length
,如果标准toString实现是“正常的”,则“x”是对错误解释的“保证”:。。我已经看到那个数字+“”在内部保持一个数字…不。如果
+
的任一侧是字符串,则结果是字符串;它通过
toString
(“实现”)方法进行转换。var c;c=10;c=“+”+c;C给出字符串“+10”,但eval(c)给出数字10。。。例如,通过连接非数字字符串liek“ù”,可以避免任何歧义。字符串在所有上下文中都是字符串。(可能效率不高,但根据我的经验,它需要较少的调试;)当您使用国际代码(+1 820.并且您希望在任何上下文中保留“+”符号时,经常会出现此问题)请注意,由于Javascript上的浮点运算,此解决方案在某些情况下可能不起作用,例如:
(Math.floor(Math.log(1000)/Math.log(10))+1)==3
function getDigitCount(number)
{
   var c = "x" + number;
   return c.length -1;
}