Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: SI yksikkö decoder

Grimmi [23.08.2008 23:31:26]

#

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?

Grez [23.08.2008 23:36:52]

#

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.

Jaska [23.08.2008 23:39:25]

#

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.

Grimmi [23.08.2008 23:52:33]

#

Jees, sain toimimaan sen sitten.

<?php
if($value >= 1)
{
	while($value >= 1000)
	{
		$value /= 1000;
		$index++;
	}
	return $value ." ". $types1[$index] ."J"
}
else
{
	while($value <= 0.1)
	{
		$value *= 1000;
		$index++;
	}
	return $value ." ". $types2[$index] ."J";
}
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta