123456 $val = substr($val, 0, $sigFigs); // ex: 123456 => 1234 // Move any extra digits after decimal $extraFigs = strlen($val) - ($sigFigs - $decFigs); if ($extraFigs > 0) { return $sign * $val / pow(10, $extraFigs); // ex: 1234 => 1.234 } else { return $sign * $val; } } }