账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    weex input如何实现保留两位小数?
    • 2018-01-24 00:00
    • 11
    100
    0

    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;
            }

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

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 零语寞路 普通会员 1楼

      在Weex中,如果你想实现保留两位小数,你可以使用Number类型。以下是一个简单的示例:

      ```javascript import {数分十进制 } from 'weex-core';

      Page({ data: { count: Number('123.456'), decimal: Number('123.456.00') } }) ```

      在这个示例中,countdecimal数据都是Number类型,它们的值都会被保留两位小数。

      如果你想要保留四位小数,你可以使用字符串格式化。以下是一个示例:

      javascript Page({ data: { count: Number('123.456'), decimal: Number('123.456.00') } })

      在这个示例中,countdecimal数据都是Number类型,它们的值都会被保留四位小数。

      注意:在使用Number类型时,Number('123.456')将返回123.46,而不是123.457。这是因为,对于小数,Number()函数只会返回一个表示小数部分的数字,而不会返回整数部分。如果你想要返回整数部分,你可以使用Number('123.456').toFixed(2)

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部