JS中判斷兩個數字的大小需要注意 有所不同

2021-07-23 16:22:05 字數 697 閱讀 8100

今天寫了乙個form表單,提交前會判斷一下開始機器號是否比結束機器號大(開始必須小於等於結束的)

原始寫法是:

var start = $("#input_edit_changeinfo_machinestartno").val();//開始機器號

var end = $("#input_edit_changeinfo_machineendno").val();//結束機器號

if(start>end)

當我測試時候發現開始機器號寫「5」結束機器號寫「20」會跳出提示框,當時我就懵了,只有「0」「1」寫在開始上回通過!

也就是5>20,6>20?嗎???????

肯定不是,上網一查,因為js中的var定義的變數預設是字串,如果單純的比較字串的話,會出現錯誤,需要先轉化為int型別在做比較。

所以轉換一下型別就ok啦(將var 型別轉換為int型別)

解決方案:

**換成這樣

var start = $("#input_edit_changeinfo_machinestartno").val();//開始機器號

var end = $("#input_edit_changeinfo_machineendno").val();//結束機器號

if(parseint(start)>parseint(end))

就ok了,

測試一下,5再也不會大於20了!

如何用JS判斷兩個數字的大小

在判斷之前我們要先知道,js中的var定義的變數預設是字串,如果單純的比較字串的話,會出現錯誤,需要先轉化為int型別在做比較。錯誤寫法 var agesmall data.agesmall var agebig data.agebig if agebig agesmall return false...

比較兩個數字的大小

int max x x y x y 31 int a int b while a b system.out.println b x y 31不是把x y的符號位取出來了嗎?如果x y則x y 31就是0,否則是1 return a b abs a b 2 int nums return nums a...

微信小程式 js 比較兩個數字大小

接受後台傳過來的資料,取出最大值,但是的出來的結果卻不是想要的。let max 0 arr 是後台傳過來的陣列 arr.foreach num console.log num num max max arr 9 26 5 4 56 10 24 52 59 得出的最大值卻是 9 嘗試修改陣列值後發現,...