<?php
function convertFloat($float)
{
$float = (string)$float;
$expPos = strpos($float, 'E-');
if ($expPos === false) {
return $float;
}
$beforeDot = 0; // Well, fuck you my English.
$afterDot = 0; // ^^
$numberWithoutPrecision = substr($float, 0, $expPos);
$exp = (int)substr($float, $expPos + 1, strlen($float));
$dotPos = strpos($numberWithoutPrecision, '.');
if ($dotPos === false) {
$beforeDot = $numberWithoutPrecision;
} else {
$beforeDot = substr($numberWithoutPrecision, 0, $dotPos);
$afterDot = substr($numberWithoutPrecision, $dotPos + 1, strlen($numberWithoutPrecision));
}
var_dump($beforeDot, $afterDot);
}
convertFloat(1.004e-300);
preferences:
43.99 ms | 402 KiB | 5 Q