坑爹的測試,非要搞限制輸入到小數點兩位。
第一種方法:
parseFloat() 函數可解析一個字符串,並返回一個浮點數。
該函數指定字符串中的首個字符是否是數字。如果是,則對字符串進行解析,直到到達數字的末端為止,然后以數字返回該數字,而不是作為字符串。
語法
parseFloat(string)
參數 | 描述 |
---|---|
string | 必需。要被解析的字符串。 |
詳細說明
parseFloat 是全局函數,不屬於任何對象。
parseFloat 將它的字符串參數解析成為浮點數並返回。如果在解析過程中遇到了正負號(+ 或 -)、數字 (0-9)、小數點,或者科學記數法中的指數(e 或 E)以外的字符,則它會忽略該字符以及之后的所有字符,返回當前已經解析到的浮點數。同時參數字符串首位的空白符會被忽略。
如果參數字符串的第一個字符不能被解析成為數字,則 parseFloat 返回 NaN。
提示:您可以通過調用 isNaN 函數來判斷 parseFloat 的返回結果是否是 NaN。如果讓 NaN 作為了任意數學運算的操作數,則運算結果必定也是 NaN。
返回值
返回解析后的數字。
提示和注釋
注釋:開頭和結尾的空格是允許的。
提示:如果字符串的第一個字符不能被轉換為數字,那么 parseFloat() 會返回 NaN。
提示:如果只想解析數字的整數部分,請使用 parseInt() 方法。
實例
例子 1
在本例中,我們將使用 parseFloat() 來解析不同的字符串:
1 <script type="text/javascript"> 2 3 document.write(parseFloat("10")) 4 document.write(parseFloat("10.00")) 5 document.write(parseFloat("10.33")) 6 document.write(parseFloat("34 45 66")) 7 document.write(parseFloat(" 60 ")) 8 document.write(parseFloat("40 years")) 9 document.write(parseFloat("He was 40")) 10 11 </script>
輸出:
10
10
10.33
34
60
40
NaN
第二種方法:
1 this.value = this.value.replace(/[^\d\.]/, '').replace(/^0(?=[0-9])/, '');
第一個正則是匹配小數點,第二個正則匹配開頭是0的話后面后面不是小數點的換掉。
第三種方法:
變了.toFlexd(2)