如何在JavaScript中将字符串转换为整数?
当前回答
我们可以使用+(stringOfNumber)而不是parseInt(stringOfNumber)。
示例:+(“21”)返回int值为21,类似于parseInt(“21)。
我们也可以使用这个一元“+”运算符来解析浮点数。。。
其他回答
在我看来,没有答案涵盖所有边缘情况,因为解析浮点值会导致错误。
function parseInteger(value) {
if(value === '') return NaN;
const number = Number(value);
return Number.isInteger(number) ? number : NaN;
}
parseInteger("4") // 4
parseInteger("5aaa") // NaN
parseInteger("4.33333") // NaN
parseInteger("aaa"); // NaN
尝试str-0将字符串转换为数字。
> str = '0'
> str - 0
0
> str = '123'
> str - 0
123
> str = '-12'
> str - 0
-12
> str = 'asdf'
> str - 0
NaN
> str = '12.34'
> str - 0
12.34
以下是两个链接,用于比较将字符串转换为int的几种方法的性能
https://jsperf.com/number-vs-parseint-vs-plus
http://phrogz.net/js/string_to_number.html
将数字的乘法与各自的十次幂相加:
即:123=100+20+3=1100+2+10+31=1*(10^2)+2*(10^1)+3*(10^0)
function atoi(array) {
// Use exp as (length - i), other option would be
// to reverse the array.
// Multiply a[i] * 10^(exp) and sum
let sum = 0;
for (let i = 0; i < array.length; i++) {
let exp = array.length - (i+1);
let value = array[i] * Math.pow(10, exp);
sum += value;
}
return sum;
}
最简单的方法是这样使用+
const strTen = "10"
const numTen = +strTen // string to number conversion
console.log(typeof strTen) // string
console.log(typeof numTen) // number
您可以使用加号。例如:
var personAge = '24';
var personAge1 = (+personAge)
然后您可以看到新变量的typebytypeofpersonAge1;这是数字。
推荐文章
- 我如何检查如果一个变量是JavaScript字符串?
- 如何显示有两个小数点后的浮点数?
- 如何检测如果多个键被按下一次使用JavaScript?
- 如何通过history. pushstate获得历史变化的通知?
- 在每个列表元素上调用int()函数?
- 使用jQuery改变输入字段的类型
- 在JavaScript中,什么相当于Java的Thread.sleep() ?
- 在Lua中拆分字符串?
- 使用jQuery以像素为整数填充或边距值
- 检查是否选择了jQuery选项,如果没有选择默认值
- Next.js React应用中没有定义Window
- 如何重置笑话模拟函数调用计数之前,每次测试
- 如何强制一个功能React组件渲染?
- 在javascript中从平面数组构建树数组
- 将Dropzone.js与其他字段集成到现有的HTML表单中