我有这个代码在一个vue的方法,我想优化它。我会从一个可湿性粉剂数据库得到一些信息,这些信息也包含一些文字,我不需要。
我不喜欢我使用的正则表达式,因为我需要使用模板文字来创建数据。
有没有更好的方法来进行计算和获得所需的信息?
extractTotal(prodInfo, prodPrice, code){
let val = prodInfo.match(/[0-9]/g)
let multiplier
if( val.length > 2 ){
multiplier = `${val[0]}${val[1]}${val[2]}`
} else if( val.length === 1 ) {
multiplier = val[0]
} else {
multipier = `${val[0]}.${val[1]}`
}
if( multiplier === '500' ){
return (parseFloat(prodPrice) * this.q[code] / 2)
} else if( multiplier === '1' ) {
return (parseFloat(prodPrice) * this.q[code] * 1)
} else {
return (parseFloat(prodPrice) * this.q[code] * multiplier)
}
}
1条答案
按热度按时间pu3pd22g1#
使用此正则表达式:
/[0-9]+\,?[0-9]*/g
然后可以将
,
字符转换为.