javascript中的整数长度

时间:2013-08-09 08:43:51

标签: javascript string properties integer

Stoopid提问时间!

我知道在JavaScript中你必须将整数转换为字符串:

var num = 1024;
len = num.toString().length;
console.log(len);

我的问题是:为什么JavaScript中的整数没有get length属性?是不是经常使用的东西?

3 个答案:

答案 0 :(得分:11)

好吧,我不认为提供数字长度属性会有所帮助。 关键是字符串的长度不会因改变其表示而改变。

例如,您可以使用与此类似的字符串:

var b = "sometext";

并且除非您实际更改字符串本身,否则其长度属性不会更改。

但数字并非如此。

相同的数字可以有多个表示。 E.g:

 var a = 23e-1;
and 
 var b = 2.3;

很明显,相同的数字可以有多个表示 因此,如果你有长度属性与数字,它将不得不改变与数字的表示。

答案 1 :(得分:5)

首先必须设置变量toString(),如下所示:

var num = 1024,
str = num.toString(),
len = str.length;

console.log(len);

答案 2 :(得分:0)

您可以使用Math.log10(number)查找数字的“长度”

var num = 1024;
var len = Math.floor(Math.log10(num))+1;
console.log(len);

或者如果您想与旧版浏览器兼容

var num = 1024;
var len = Math.log(num) * Math.LOG10E + 1 | 0; 
console.log(len);

| 0与Math.floor的作用相同。