关于微信小程序input组件获取输入文本转换成数字(无论正负)
最近写了一个焓湿图的在线计算器,尴尬的是,如果使用input的digit形式,跳出的键盘无法输入负号。所以想到输入文本格式,然后转换数据类型。网上有很多用正则表达式的贴,不在详细累述。我的大体思路如下,
1、先定义一个变量,初始值为1。然后用正则表达式检测是否存在负号,如果有,将该变量置为-1。
2、用正则表达式只提取数字。
3、将前两步的值相乘,就可以提取出无论正负号的数字啦!
以下是测试文件:
js文件
// pages/f/f.js
Page({
data: {
daqiya:0
},
change :function (e)
{
var a1 = e.detail.value;
var a2 = RegExp('^\-', 'g').exec(e.detail.value)
var g = 1;
if (a2) {
g = -1;
}
var a3 = parseFloat(a1.replace(/\D/g, '')) * g
this.setData({ daqiya: a3 })
}
})
wxml文件
<!--pages/f/f.wxml-->
<input class="a" bindinput="change" placeholder="请输入参数"></input>
<view>input的输入数值为:{
{daqiya}}</view>
wxss文件
.a{width:60%;
margin-left:20px;
border-botto