weex input如何实现保留两位小数?

weex input如何实现保留两位小数?

用了vue官网demo

// 不是直接更新值,而是使用此方法来对输入值进行格式化和位数限制
    updateValue: function (value) {
      var formattedValue = value
        // 删除两侧的空格符
        .trim()
        // 保留 2 位小数
        .slice(
          0,
          value.indexOf('.') === -1
            ? value.length
            : value.indexOf('.') + 3
        )
      // 如果值尚不合规,则手动覆盖为合规的值
      if (formattedValue !== value) {
        this.$refs.input.value = formattedValue
      }
      // 通过 input 事件带出数值
      this.$emit('input', Number(formattedValue))
    }

发现并不好用,试了好几种方式,在weex上都没有生效。。。

今天试了试这样:

this.$nextTick(() => {
    this.endNum = this.updateValue(event.value);
    event.value = this.endNum;
  });

    updateValue(value) {
          var formattedValue = value
            // 删除两侧的空格符
            .trim()
            // 保留 2 位小数
            .slice(
              0,
              value.indexOf('.') === -1
                ? value.length
                : value.indexOf('.') + 3
            )

            return formattedValue;
        }

发现能截取两位小数了。但是截取的时候会闪一下,即被截取的那个数字先显示了一下又消失的那个闪的动作,这该怎么搞

阅读 3.3k
1 个回答

js有个方式保留小数点后面的位数:

const floatNumber = 3.4523
const twoDecimal = floatNumber.toFixed(2)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题