我的功能如下:
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一样,零被跳过了,有什么办法可以避免这种情况吗?
阿波罗的战车
喵喔喔