Ricavare la parte decimale di un numero

  • Creatore Discussione Creatore Discussione danilob
  • Data di inizio Data di inizio

danilob

Utente Attivo
3 Feb 2007
124
0
0
Ciao a tutti...

Avrei bisogno di aiuto xchè non sò come fare per applicare questa formula per calcolare il tempo al km .

Io ad esempio conosco la velocità e voglio trovare il tempo al km.

esempio di vel di 12.3 km/h:

60:12.3 km/h=4.87 minuti

fino a qui ok...
poi devo prendere la parte decimale cioè 87 e moltiplicarla per 0.6...

>Non riesco a prendere la parte decimale. Qualcuno ha qualche idea.

graie a tutti.

ciao.

Danilo
 
prova così

$decimale=4.896;
$intero = (int)$decimale;
echo $intero." intero <br>";
$resto= $decimale-$intero;
echo $resto." parte decimale <br>";

dovrebbe funzionare
 
ti ringrazio moltissimo e ne approfitto per chiedere se è possibile unire un intero con un decimale...

es.. int=10

decimale=0.8


unione 10.08..

Come si fa?

grazie
 
<?php
$decimale=4.896;
$intero = (int)$decimale;
echo $intero." intero <br>";
$resto= $decimale-$intero;
echo $resto." parte decimale <br>";

/*devo trattare i numeri ricavati prima considerandoli stringhe, non più numeri*/
$resto = eregi_replace("\.","",$resto); //tolgo il punto
echo $resto." parte decimale in stringa senza il punto<br>";
$ricomponi=$intero.".".$resto;/*ricompongo il finto numero rimettendo il punto*/
echo $ricomponi." numero ricomposto<br>";

?>
 
scusa se torno di nuovo, ma se non ho capito male ti farebbe comodo una funzione che trasforma le ore decimali in sessagesimali come la seguente?

<?php
function trasforma_ore($decimale,$Ro){ //decimale = ore in decimale, Ro arrotondamento dei secondi
$ore=(int)$decimale; //ore numero intero sessagesimale

$minutiDec=($decimale-$ore)*60;//minuti in decimale
if($ore==0){$ore="00";}elseif($ore<10){$ore="0".$ore;}
$minuti=(int)$minutiDec; //minuti in sessagesimale

$secondi=($minutiDec-$minuti)*60; //secondi in sessagesimale con frazioni di secondo
if($minuti==0){$minuti="00";}elseif($minuti<10){$minuti="0".$minuti;}
$secondi=round($secondi,$Ro);

$divisore=":"; //oppure scegliere altro
//$ritorna= $ore.$divisore.$minuti.$divisore.$secondi;
$ritorna= $ore."h ".$minuti."'".$secondi."\"";
return $ritorna;
}

echo "esempio<br><br>";
$velocita= 47.32; //km/h
$distanza = 3; //km
$tempoDec= $distanza/$velocita; //risultato in ore decimali = 9.464
$Arro=0; //non voglio decimali per = 1 decimi di sec, =2 centesimi. =3 millesimi

$tempo= trasforma_ore($tempoDec,$Arro);

echo "per percorrere ".$distanza." km alla velocità di ".$velocita." km/h impiego ".$tempo." (ore:min:sec)";

?>
 

Discussioni simili