html 字符转成整数,html-Javascript字符串/整数比较

检查字符串是否为整数与比较一个或多个字符串的大小是分开的。 您应该始终将数字与数字进行比较,将字符串与字符串进行比较,作为处理不容易记住的混合类型的算法。

'00100' < '1' // true

因为它们都是字符串,所以仅将“ 00100”的第一个零与“ 1”进行比较,并且由于其charCode较低,因此其求值较低。

然而:

'00100' < 1 // false

由于RHS是数字,因此LHS在比较之前会转换为数字。

一个简单的整数检查是:

function isInt(n) {

return /^[+-]?\d+$/.test(n);

}

不管n是数字还是整数,都将在测试前将其转换为字符串。

如果您真的很在意性能,那么:

var isInt = (function() {

var re = /^[+-]?\d+$/;

return function(n) {

return re.test(n);

}

}());

请注意,像1.0这样的数字将返回false。 如果您也想将这些数字视为整数,则:

var isInt = (function() {

var re = /^[+-]?\d+$/;

var re2 = /\.0+$/;

return function(n) {

return re.test((''+ n).replace(re2,''));

}

}());

通过该测试后,转换为数字以进行比较可以使用多种方法。 我不喜欢parseInt(),因为它将截断浮点数以使它们看起来像整数,因此以下所有内容都是“相等的”:

parseInt(2.9) == parseInt('002',10) == parseInt('2wewe')

等等。

将数字测试为整数后,可以使用一元+运算符将它们转换为比较形式的数字:

if (isInt(a) && isInt(b)) {

if (+a < +b) {

// a and b are integers and a is less than b

}

}

其他方法是:

Number(a); // liked by some because it's clear what is happening

a * 1 // Not really obvious but it works, I don't like it

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值