Ik heb een probleem met grote getallen.
Ik moet grote getallen omzetten naar kleinere notatie ( kilo , mega , giga , terra , peta , ...).
Zo'n getal bv: "1.72439157094522e+16" moet "vervormd" worden naar "17.243P" Ik heb gemerkt dat de wetenschappelijke notatie begint vanaf 17 cijfers (nog 1 cijfer VOOR de komma). Maar hoe kan ik dit makkelijk omvormen zodat hij ook vanaf 10^18 afrond naar exa. (Dus dat hij kijkt waar hij het dichtst bijzit.
Mijn gedacht was eerst om het VOLLEDIGE getal in de database te plaatsen 17243915709452200 , telt hoelang dat dit getal is en zoekt waar de komma moet staan en welke afkorting erachter moet. Maar omdat ik alleen maar de EERST 10 getallen in mijn database krijg (veldtype = INT(255) ) kan ik de rest niet doen
<?php
include("connect.php");
$number = '1.72439157094522e+16';//17243915709452200
$exploded_num = explode("e+",$number);//getal verdelen in : getal en macht
$getal = $exploded_num[0];
$macht = $exploded_num[1];
for($i=1; $i <= $macht;$i++){
$getal = $getal*10;
echo "".$getal."<br>";
}
$sql = "INSERT INTO team(ttest) VALUES ($getal)";
$mysql = mysql_query($sql);
if($mysql) echo "gelukt";
else echo "try again :)";
?>
ik weet dat het een moeilijke vraag is maar : hoe kan dit het simpelste?
dank bij voorbaat,
dizzy