zoukankan      html  css  js  c++  java
  • php 关于金额的几种计算方式

    php 关于金额的几种计算方式

           平常开始开发过程中,多多少少都会遇到点关于金额的计算,比如设置返利、提现手续费、折扣啊等等诸如此类的比例,然后再计算出之后的实际的费用。

    下面,以折扣为例,来实现这类计算是如何实现的,话不多说,直接上代码!

     1 //计算折扣
     2 $value = '9.95';//折扣
     3 $money = '39.555';//原始价格,当然到这一步的价格,一般都是小数点后两位的,此处保留三位,主要是为了对比
     4 echo '原始价格:'. $money * ($value/10);
     5 echo '<pre>';
     6 echo '直接四舍五入:'.round($money * ($value / 10),2);
     7 echo '<pre>';
     8 echo '截取小数点后1位:'.floor($money * $value)/10;
     9 echo '<pre>';
    10 echo '截取小数点后2位'.floor($money * ($value / 10) * 100)/100;
    11 die;

     运行结果为:

    1 价格:39.357225
    2 直接四舍五入:39.36
    3 截取小数点后1位:39.3
    4 截取小数点后2位39.35

    我一般是使用第二种和第四种,当然也可以根据自身需要,适当调整

     

    最后是函数说明:

    round():对浮点数进行四舍五入。语法:round(a,b), 默认b为0

    floor():  向下舍入为最接近的整数。即小于这个浮点数的最大整数

     补充:在php运算过程中,精度运算是不可缺少的,所以是使用floor函数向下取整的时候,往往会出现bug,比如floor(0.58*10)为57,

    此时可以借助php的高精度函数来解决,floor(bcmul(0.58,10))为58,,此外还有bccomp、bcadd、bcsub、bcmod、bcp、bcmul,分别代表比较、加、减、取模、除、乘法运算,具体可参考另一篇文章php 高精度计算函数

    多学、 多记、 多练、
  • 相关阅读:
    编译和和运行amor
    用好C语言的中库,系统错误的处理
    C语言中的宏
    时隔多年,再次实现的链表
    脚本更改桌面背景
    python爬虫 一个security的RSA加密爬虫
    mysql 8.0版本
    mysql5.7的并行复制
    kinshard中间件问题
    Springboot2-@Transactional 事务不生效
  • 原文地址:https://www.cnblogs.com/cyfblogs/p/9641368.html
Copyright © 2011-2022 走看看