字符串比较大小及字符串转数字的方法

背景

在公司改需求的时候有个值的判断,没有发现后端返回的是字符串类型的数字,结果比较大小一直出错。下面是整理的一下字符串的比较规则以及字符串转数字的方法。供大家学下一下。

字符串比较规则

在 JavaScript 中,字符串的比较是基于 Unicode 字符的代码点 (code points) 的顺序进行的。这意味着字符串是逐字符比较的,从第一个字符开始,如果第一个字符相同,则比较第二个字符,以此类推。这里是一些字符串比较规则:

  • 字典序比较:按字典顺序比较字符串的每个字符。
  • 区分大小写:'A' 和 'a' 是不同的字符,因为它们的 Unicode 代码点不同。
  • 空字符串:空字符串 "" 小于任何其他非空字符串。
  • 长度较长的字符串可能更大:如果前面的部分相同,比较的结果取决于较长的字符串。
console.log("apple" > "banana"); // false
console.log("apple" < "banana"); // true
console.log("apple" == "Apple"); // false
console.log("apple" > "Apple"); // true (因为 'a' 的代码点比 'A' 大)
console.log("apple" > "app");    // true
console.log("" < "a");    
字符串转数字

最简单的直接*1乘以1转数字

Number()函数:

let str1 = "42";
let num1 = Number(str1); // num1 = 42

let str2 = "3.14";
let num2 = Number(str2); // num2 = 3.14

let str3 = "hello";
let num3 = Number(str3); // num3 = NaN

Number()函数会尝试将字符串转换为数字类型。如果字符串包含有效的数字,则返回相应的数值。如果字符串不包含有效的数字,则返回NaN(Not a Number)。

parseFloat()函数:

let str1 = "3.14";
let num1 = parseFloat(str1); // num1 = 3.14

let str2 = "42";
let num2 = parseFloat(str2); // num2 = 42.0

let str3 = "hello";
let num3 = parseFloat(str3); // num3 = NaN

parseFloat()函数将字符串解析为浮点数。如果字符串以有效的浮点数开头,则返回该浮点数。如果字符串不包含有效的浮点数,则返回NaN。

parseInt()函数:

let str1 = "42";
let num1 = parseInt(str1); // num1 = 42

let str2 = "3.14";
let num2 = parseInt(str2); // num2 = 3

let str3 = "hello";
let num3 = parseInt(str3); // num3 = NaN

parseInt()函数将字符串解析为整数。它从字符串开头解析,直到遇到非数字字符为止。如果字符串以有效的整数开头,则返回该整数。如果字符串不包含有效的整数,则返回NaN。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值