private static function innerRound($value, $scale = 0)
{
$rounded = bcadd($value, '0', $scale);
$diffDigit = bcsub($value, $rounded, $scale + 1);
$diffDigit = (int) $diffDigit[strlen($diffDigit) - 1];
if ($diffDigit >= 5) {
if ($diffDigit >= 5 && $value[0] !== '-') {
$rounded = bcadd($rounded, bcpow('10', -$scale, $scale), $scale);
} else {
$rounded = bcsub($rounded, bcpow('10', -$scale, $scale), $scale);
}
}
return $rounded;
}