js是一門很靈活的語言,對於資料型別的定義也比較粗放,在一些情況下就出現了需要把字串和0進行比較的情況。
比較常規的一種做法是:先將字串資料轉化成數字,再與0進行比較
這種情況下 a - 0 會觸發js的隱式型別轉換,會將字串與數字的比較轉換為數字與數字的比較,從而得到正確的結果。let a = '123';
if (a - 0 > 0)
事實上,在a確定為字串型別的前提下,比較a與0的大小,可以直接使用 a > 0 進行比較。
" > " 也會觸發js的隱式型別轉換,乙個運算元為數字的情況下,js會嘗試將另一側的內容也轉換成數字,之後再進行比較。
則a有以下幾種情況, 這些情況下直接使用 a > 0 ,即可得到正確的比較結果。
// a是字串型別的正數形式,也只有這種情況下a > 0 返回true
var a = '12' // undefined
a > 0 // true
// a是字串型別的負數形式
a = '-12' // "-12"
a > 0 // false
// a是字串型別的0
a = '0' // "0"
a > 0 // false
// a是不包含數字的字串型別
a = 'ab' // "ab"
a > 0 // false
a = '-+ !' // "-+ !"
a > 0 // false
a = ' ' // "ab"
a > 0 // false
字串問題 字串的調整與替換
題目 給定乙個字元型別的陣列chas,chas的右半區全是空字元,左半區不含有空字元。現在想將左半區中所有的空格字元替換成 20 假設chas的右半區足夠大,可以滿足替換所需要的空間,請完成替換函式。要求時間複雜度o n 空間複雜度o 1 補充題目 給定乙個字元型別的陣列chas,其中只含有數字字元...
PHP字串與整型比較大小
php字串與整型比較大小,是否可以?會不會計算出差值?答案 肯定的,因為php是弱型別語言。背景 redis的string型別,儲存時間戳,知道redis的string型別儲存的value值是字串型,取出來時肯定也是字串型。當前時間戳 redis儲存的時間戳 時間差 用來比較遊戲時長的合法性 hea...
A B問題(字串與數字之間的轉換)
a b問題 字串與數字之間的轉換 description 讀入兩個小於100的正整數a和b,計算a b.需要注意的是 a和b的每一位數字由對應的英文單詞給出.input 測試輸入包含若干測試用例,每個測試用例佔一行,格式為 a b 相鄰兩字串有乙個空格間隔.當a和b同時為0時輸入結束,相應的結果不要...