愚蠢的问题时间到了!
我知道在JavaScript中,你必须将整数转换为字符串:
var num = 1024;
len = num.toString().length;
console.log(len);
我的问题是:为什么JavaScript中的整数没有获取长度属性?这是不经常使用的东西吗?
愚蠢的问题时间到了!
我知道在JavaScript中,你必须将整数转换为字符串:
var num = 1024;
len = num.toString().length;
console.log(len);
好的,我认为为数字提供长度属性是没有帮助的。重点是改变其表示方式不会改变字符串的长度。
例如,您可以拥有类似于这样的字符串:
var b = "sometext";
并且只有在实际更改字符串本身时,其长度属性才会发生改变。
但是数字不同。
同一个数字可以有多个表示方法。例如:
var a = 23e-1;
and
var b = 2.3;
很明显一个数可以有多个表示方法,因此,如果您使用数字属性长度,它将随着数字的表示方式而改变。
parseInt
函数从源字符串中使用了多少距离,而无需重新将其转换为字符串以查看(例如:解析x+2464+y*42
)。 - Pimp Trizkit您需要先设置变量toString()
,如下所示:
var num = 1024,
str = num.toString(),
len = str.length;
console.log(len);
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);
< p > | 0
与Math.floor做的是相同的事情。
const num = 18.5;
const len = `${num.toString()}`.length;
console.log(len);