3v4l.org

run code in 300+ PHP versions simultaneously
<?php $input = new \NumberFormatter('lv', \NumberFormatter::DECIMAL); $input->setAttribute($input::FRACTION_DIGITS, 2); //applies rounding during format $output = new \NumberFormatter('en', \NumberFormatter::DECIMAL); $output->setAttribute($output::FRACTION_DIGITS, 2); //applies rounding during format foreach (['5,77', '5,20', '5,2', '5,00', '5', '0'] as $value) { echo 'initial value: '; var_dump($value); $parsed = $input->parse($value); echo 'input::parse: '; var_dump($parsed); echo 'output::format: '; var_dump($output->format($parsed)); echo 'input::format: '; var_dump($input->format($parsed)); echo PHP_EOL; }
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
initial value: string(4) "5,77" input::parse: float(5.77) output::format: string(4) "5.77" input::format: string(4) "5,77" initial value: string(4) "5,20" input::parse: float(5.2) output::format: string(4) "5.20" input::format: string(4) "5,20" initial value: string(3) "5,2" input::parse: float(5.2) output::format: string(4) "5.20" input::format: string(4) "5,20" initial value: string(4) "5,00" input::parse: float(5) output::format: string(4) "5.00" input::format: string(4) "5,00" initial value: string(1) "5" input::parse: float(5) output::format: string(4) "5.00" input::format: string(4) "5,00" initial value: string(1) "0" input::parse: float(0) output::format: string(4) "0.00" input::format: string(4) "0,00"

preferences:
103.6 ms | 409 KiB | 5 Q