[每天进步一点点~] uni-app 实现价格小数点前后字体大小不同、js判断数值中是否带小数点...

效果图

代码:

<template>
    <view class="">
        <view class="" style="fontSize:10px ">
            ¥<text style="fontSize:20px ">{{ frontPrice }}</text>
              <text v-show="isDot">.</text>
              <text>{{ backPrice }}</text>
        </view>
    </view>
</template>

<script>
    export default {
        data(){
            return {
                price:'337.90',
                // price:'337',
                frontPrice:'',
                backPrice:'',
                isDot: true,
                
            }
        },
        onShow(e) {
            this.totalprice(this.price)
        },
        methods: {
            totalprice(num) {
                // 判断是否有小数点
                if(!isNaN(num)){ // 判断 number类型的数字是不是NaN,因为NaN也是number类型
                    this.isDot = ( (num + '').indexOf('.') != -1 );  // 加一个空字符串 = 强转string类型;
                    // indexOf方法,判断字符串中是否存在某个值,存在则返回存在位置的下标(小数点的下标位置是0),不存在则返回-1,
                    // 这里是判断是否存在小数点,数值377无小数点所以返回-1,377.90存在小数点所以返回 3 
                    // console.log((num + '').indexOf('.'));
                }
                if (this.isDot) {
                    // 分割价钱 => ["337", "90"]
                    let splitPrice = num.split(".");
                    this.frontPrice = splitPrice[0]
                    this.backPrice = splitPrice[1]
                } else {
                    this.frontPrice = num
                }
            }
        }
    }
</script>

<style lang="scss" scoped>
    
</style>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值