>
在JS中比较两个数的大小
2024-05-11 15:12
.NET Core
  • 458
  • 527
  • 64
  • 51

在JS中比较两个数的大小 字符串进行比较 出现的坑

一种是字符串进行比较

    var t='2';
    var k='9';
    var q= t>k;
    console.log(q);
    结果为false
    
    var t1='12';
    var k1='9';
    var q1= t1>k1;
    console.log(q1);
    结果为false


一种是整数进行比较

    var t=2;
    var k=9;
    var q= t>k;
    console.log(q);
    结果为false
    
    var t1=12;
    var k1=9;
    var q1= t1>k1;
    console.log(q1);
    结果为true


总结 

大家都看出不同了把 

那么是什么原因呢

在 JavaScript 中,字符串之间的比较是基于它们的 Unicode 字符编码值进行的,而不是它们代表的数字值。

在 Unicode 中,数字字符的编码值是按照字符的顺序排列的。

所以,当你比较 '12''9' 时,实际上是比较字符 '1' 和字符 '9' 的 Unicode 编码值,而字符 '1' 的编码值大于字符 '9',因此表达式 t1>k1 的结果是 false


全部留言 ()
返回
顶部