数字左侧为零的精度问题[重复]

问题描述 投票:0回答:2

这个问题在这里已有答案:

我的功能如下:

static function applyPrecision($vals) {
        $originalNumber = $vals['reading'];
        if (is_numeric($originalNumber)) {
            $precision = ($vals['precision'] != '' || $vals['precision'] != 0) ? $vals['precision'] : 4;
            $factor = pow(10, $precision);
            $multipliedNumber = $originalNumber * $factor;
            //$integerMultipliedNumber = floor($multipliedNumber);
            $var = explode(".", $multipliedNumber);
            $integerMultipliedNumber = $var[0];
            return $result = (float) ($integerMultipliedNumber / $factor);
        } else {
            return $originalNumber;
        }
    }

使用这个,我们可以对数字应用精度而不用舍入值,例如: - 45.12345678精度给定为3,则输出为45.123

但如果这样的数字,:45.1000000,精度为3,那么输出仅为45.1,那个零被跳过,有什么方法可以避免这种情况吗?

php precision
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.