[英]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.