簡體   English   中英

在 Javascript 中,允許 integer 和浮動但不允許字符的方法是什么

[英]In Javascript what is the method to allow integer and float but not chars

在我的 javascript 變量中,根據input字段中給出的輸入,我得到的值為"abc""123""123.456" 對於所有值,類型都是string ,即使輸入的值是數字或浮點數。

typeof(variable)總是給出string

每個keydown都會觸發以下方法。 我也在使用lodash

convertMethod(val) {
    console.log(round(val,2).toString())    //round is a lodash method which is imported already
}

當我將值round時,小數點不會出現。 如果輸入的值是數字而不是字母,我只想將值四舍五入到小數點后兩位。 我怎樣才能解決這個問題?

您可以使用isNaN檢查它是否編號。 如果是數字,則將其四舍五入:

convertMethod(val) {
    if(!isNaN(val))
       console.log(round(val,2).toString())
    else
       console.log(val)
}

convertMethod("qw")
convertMethod("12.3456")
convertMethod("12.432")
convertMethod("12")

Output:

"qw"
"12.35"
"12.43"
"12"

嘗試將字符串轉換為數字(通過_.toNumber()+運算符。然后使用_.isFinite()檢查它是否為數字,對於非數字、Infinite、-Infinite 和NaN返回false

 const { isFinite, round } = _ const convertMethod = val => { if (isFinite(+val)) console.log(round(val, 2).toString()) else console.log(val) } convertMethod('5.4435') convertMethod('abc')
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM