prseFloat()函数在Android上没问题,在iOS上是NaN,有谁知道什么原因吗?
发布于 7 年前 作者 linyang 8835 次浏览 来自 官方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 回复

this.data.shoushu = parseFloat(value);

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

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

回到顶部