0
兩大變量我有2個大的變數,我需要比較喜歡:比較在JavaScript
var a = 15000000000000000000000001 // integer
var b = "15000000000000000000000000" // string
在我所有的測試比較得到錯誤的結果。 如:
轉換變種b分成一個整數
var a = 15000000000000000000000001 var b = 15000000000000000000000000 a > b // return false and is wrong
轉換一個變種成一個字符串
var a = "1500000000000000000000001" var b = "15000000000000000000000000" a > b // return true and is wrong
我的解決辦法:
function compareCheck(a,b){
if (a.length > b.length) {
return true;
}
else if (a.length == b.length) {
if (a.localeCompare(b) > 0) {
return true
}
else return false;
}
else return false;
}
var a = "15000000000000000000000001"
var b = "15000000000000000000000000"
compareCheck(a,b) // return true and is correct
var a = "1500000000000000000000001"
var b = "15000000000000000000000000"
compareCheck(a,b) // return false and is correct
我的問題是找到的解決方案是否是正確的,或者將來會有問題?
對不起,沒有建設性,但是這不是這樣的問題,從像JavaScript這樣的語言,它的「是啊,無論」數據類型的方法! – bazza
這取決於你想要獲得什麼'00000001> 900' – perreal
我的變量從不以0開頭。基本上它們是數字,但只要javascript有大數目的問題,我們必須將它們轉換爲字符串。 –