在PHP中删除小数位

时间:2015-12-15 23:03:52

标签: php numbers decimal floor

在PHP中,我从一个带有3位小数的数据库中获取数字。我想删除最后一个小数点。因此2.112将变为2.11,23.123将变为23.12并且123.267将变为123.26。就像在十进制水平做一个楼层。

2 个答案:

答案 0 :(得分:0)

您可以使用with-security.json,指定小数位数作为第二个小区。

实施例

number_format

或使用$number = 534.333; echo number_format($number,2) // outputs 534.33

round

似乎$number = 549.333; echo round($number, 2) // outputs 534.33 最终解决了问题

substr

答案 1 :(得分:0)

<?php

    $a = floor($a*100)/100;

所以你可以这样做:

<?php

    // Note might overflow so need some checks
    function round_floor($number, $decimals) {
      $n = pow(10, $decimals);
      return floor($number * $decimals)/$decimals;
    }

    echo round_floor(2.344, 2); // Would output 2.34
    echo round_floor(2.344, 1); // Would output 2.3

如果数字很大,则为另一种选择:

<?php
    // $decimal should be positive
    function round_floor($number, $decimals) {
        $a = strstr($number, '.', true);
        $b = strstr($number, '.');
        return $a . substr($b, 0, $decimal -1);
    }