- floor: documentation ( source)
- sprintf: documentation ( source)
<?php
for ($i = 0; $i < 10; $i++) {
for ($j = 0; $j < 100; $j++) {
$valueAsString = $i.".".sprintf('%02d', $j);
$valueAsFloat = (float) $valueAsString;
$dollars = (int) floor($valueAsFloat);
$cents = (int) ($valueAsFloat * 100 % 100);
if ($dollars !== $i || $cents !== $j) {
echo $valueAsFloat." $i $j $dollars $cents"."\n";
}
}
}