3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Get the decimals value * * @param $value * @param $min - min decimals * @return int */ function get_decimals($value = 0, $min = 2) { if ($value === '0.00') { return $min; } for ($i = strlen($value); $i >= $min; $i--) { if (strstr($value, '0.'.str_repeat('0', $i), true) !== false) { return $i+$min; } } return $min; } $values = [ '0.000000000000000000000000000000000000000000000000000000001', # ¯\_(ツ)_/¯ '0.002117647058', '0.00000000001', '2.117647058', '999.0', '0.1', '0.00', '0.0', '0' ]; foreach ($values as $value) { echo number_format($value, get_decimals($value)).PHP_EOL; }

preferences:
26.41 ms | 406 KiB | 5 Q