Elikkä tarkoituksena ois tehdä decoder SI yksiköiden mukaisena, elikkä jos vaikka heitän 1000J niin se muuntaa sen 1kJ jne.
Löysin tämmösen
<?php while($value >= 1000) { $value /= 1000; $index++; } return $value ." ". $types[$index] ."J"; ?>
Toi toimii ihan hyvin kun on kyseessä pelkät grammat, kilot, megat jne. Mutta ongelmia tulee kun koitan miettiä, miten saisin myös alemmat arvot, elikkä milli, micro, nano jne.
Oisiko kenelläkään mitään neuvoa?
No teet ensin if:n jolla testaat onko arvo alle 1 vai ei. Jos se on 1 tai enemmän niin käytät tuota sinulla jo olevaa looppia, jos alle, niin teet päinvastoin toimivan.
Arvot voisi pistää taulukkoon:
jotta=24
tsetta=21
...
jotto=-24.
Tälloin muunnettaessa vaikka tsettoja jotoiksi, eksponentiksi tulee eksponenttien erotus 21-(-24)=45. Siis 1 tsetta on 10^{45} jottoa.
Muuten micro ei ole mikään etuliite suomessa.
Jees, sain toimimaan sen sitten.
Aihe on jo aika vanha, joten et voi enää vastata siihen.