第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

關(guān)于js floor 和 PHP floor 價格運算結(jié)果“出錯”的問題

標(biāo)簽:
PHP JavaScript

以下是最近项目中遇到的两个问题及解决方法:
1、JavaScript floor
例:XX门票的价格为1.01元/张,用户可使用优惠券金额为1元。即用户勾选使用优惠券后只需支付0.01元。
代码:

<script>
        var ticketPrice = 1.01, //门票价格
            couponPrice = 1, //优惠券
            totalPrice; //实际支付金额
        totalPrice = ticketPrice - couponPrice;
        //document.write(totalPrice);
        //上面运行结果为:0.010000000000000009
        //显然不是我们想要的结果,所以对上面的结果做以下处理:
        totalPrice = parseInt(totalPrice*100)/100;
        document.write(totalPrice);//结果为0.01
</script>

2、PHP floor函数
问题:当门票价格为19.9元时,PHP程序员用floor函数来处理,结果在支付时发现金额变成了19.89元,突然少了0.01元
下面是之前PHP程序员写的代码:

<?php
//价格计算 1+,2-
function calculate($v1,$v2,$type=1) {
    if($type==1){
        $value=$v1+$v2;
    }else{
        $value=$v1-$v2;
    }
    $value=floor($value*100);
    return $value/100;
}
?>

用floor函数,当$value值为19.9元时,其处理结果为19.89。
这里不太明白PHP程序员为啥要用floor来处理$value。
修改Bug后代码:

<?php
//价格计算 1+,2-
function calculate($v1,$v2,$type=1) {
    if($type==1){
        $value=$v1+$v2;
    }else{
        $value=$v1-$v2;
    }
    return round($value,2);
}
?>

改用round函数后,结果为预期值。

點擊查看更多內(nèi)容
4人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消