js 字串數值比較大小

2021-08-21 22:14:11 字數 690 閱讀 2981

寫專案模組中有乙個功能需要限定乙個inputnumber的上限,onchange超過上限,彈出提示資訊;但是遇到乙個奇葩問題,偶爾沒有超過上限也會彈出超出上限的問題;最後排查出來了問題,是因為後台返回的上限是string;

1.比較的都是number

console(1>2) //毫無疑問 false

2.兩個都是string型別數值,則比較兩個字串對應的字元編碼值

console.log(「3」>「22」); //不好意思 true

3.乙個是string 數值,乙個是number型別數值**;js自動將string數值轉換為number型別,圍著進行數學大小的比較**

console.log(「2」>1); //true

4.string型別非數值,則比較acsii

console.log( 『a』>『b』); //false,a=97,b=98,ascii表

一句話就是string型別數值,一定要轉為number;個人推薦number(),應為parseint parsefloat都有精度問題;補充一點(「0」 => true;0 => false)

小議 js 下字串比較大小

之前群裡有人問如何比較兩個時間大小,他的時間格式是 2014 08 08 而不是 2014 8 8。所以我給的方法是 直接比較,如 var a 2014 08 08 var b 2014 09 09 console.log a b,a很方便不是麼,但是原理是什麼呢?開啟 ecma 第 11.8.5 ...

python字串比較大小

字串按位比較,兩個字串第一位字元的ascii碼誰大,字串就大,不再比較後面的 第乙個字元相同就比第二個字串,以此類推,需要注意的是空格的ascii碼是32,空 null 的ascii碼是0 ord 函式接受乙個字元 print max 1 2 3 3 print max 31 2 3 31 prin...

Python字串比較大小

字串按位比較,兩個字串第一位字元的ascii碼誰大,字串就大,不再比較後面的 第乙個字元相同就比第二個字串,以此類推,需要注意的是空格的ascii碼是32,空 null 的ascii碼是0,大寫字母和小寫字母的ascii不同 m abc abc bac abc print m 0 m 1 print...