prseFloat()函数在Android上没问题,在iOS上是NaN,有谁知道什么原因吗?

发布于 9 年前作者 linyang8973 次浏览最后编辑 9 年前来自 issues

这是输入框:

<input class="cjj_input"
            value="{{cjj}}"
            placeholder="成交价"
            bindinput="cjjInput"
            type="digit"></input>
 
<input class="shoushu_input"
            value="{{shoushu}}"
            placeholder="手数"
            bindinput="shoushuInput"
            type="number"></input>
这是变量定义和接受值的地方:

data: {
    cjj: 0, // 当前点数
    shoushu: 0, // 手数
  },
 
  cjjInput: function (e) {
    var value = e.detail.value;
    this.data.cjj = parseFloat(value);
  },
 
  shoushuInput: function (e) {
    var value = e.detail.value;
    this.data.shoushu = parseFloat(value);
  },



上面两个输入框,同样的代码,在Android上都没问题,在iOS上cjjInput方法里的parseFloat(value)没问题,而shoushuInput方法里的parseFloat(value)每次都是NaN,这里的value都是数字类型字符串,打印的value类型也都是string。

有大佬碰到这个问题吗?

2 回复
chaogao
chaogao1 楼6 年前

this.data.shoushu = parseFloat(value);

这样给 this.data 赋值你不会心痛吗

iliu
iliu2 楼6 年前

刚重新把代码删了重写了一遍就可以了,真是坑