zoukankan      html  css  js  c++  java
  • PHP浮点计算结果返回异常问题

    php中如果直接小数点进行计算的话。比如16.8*3
    var_dump是50.4。
    但是return就变成了50.400000000000006。
    至于是什么原因本人尚不得而知。
    解决方法是用把计算放入下面的方法计算:

    function PriceCalculate($n1, $symbol, $n2, $scale = '2')
    {
    $res = "";
    if (function_exists("bcadd")) {
    switch ($symbol) {
    case "+"://加法
    $res = bcadd($n1, $n2, $scale);
    break;
    case "-"://减法
    $res = bcsub($n1, $n2, $scale);
    break;
    case "*"://乘法
    $res = bcmul($n1, $n2, $scale);
    break;
    case "/"://除法
    $res = bcdiv($n1, $n2, $scale);
    break;
    case "%"://求余、取模
    $res = bcmod($n1, $n2, $scale);
    break;
    default:
    $res = "";
    break;
    }
    } else {
    switch ($symbol) {
    case "+"://加法
    $res = $n1 + $n2;
    break;
    case "-"://减法
    $res = $n1 - $n2;
    break;
    case "*"://乘法
    $res = $n1 * $n2;
    break;
    case "/"://除法
    $res = $n1 / $n2;
    break;
    case "%"://求余、取模
    $res = $n1 % $n2;
    break;
    default:
    $res = "";
    break;
    }

    }
    return $res;

    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    通过方法计算的结果再return就正常了。
    ---------------------

  • 相关阅读:
    78. Subsets
    93. Restore IP Addresses
    71. Simplify Path
    82. Remove Duplicates from Sorted List II
    95. Unique Binary Search Trees II
    96. Unique Binary Search Trees
    312. Burst Balloons
    程序员社交平台
    APP Store开发指南
    iOS框架搭建(MVC,自定义TabBar)--微博搭建为例
  • 原文地址:https://www.cnblogs.com/ly570/p/11173775.html
Copyright © 2011-2022 走看看