Stoopid提问时间!
我知道在JavaScript中你必须将整数转换为字符串:
var num = 1024;
len = num.toString().length;
console.log(len);
我的问题是:为什么JavaScript中的整数没有get length属性?是不是经常使用的东西?
答案 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的作用相同。