transformer un nombre en age

Mammouth du PHP | 804 Messages

06 juin 2007, 01:35

Bonjour,

existe t il un calcul simple pour transformer un nombre de mois en age (année + mois)

mon nombre est 18 pour 18 mois

je voudrais transformer ca en 1 an et 6 mois voir 1.6 ou 1,6

Je sais que c'est idiot mais j'ai un vide, je n'arrive pas à solutionner ce calcul !

premier reflexe d'un superdouer algo et math, je fais 18/12 :shock: résultat 1.5 et voilà :lol:

Merci de votre aide
Modifié en dernier par dogmongo le 06 juin 2007, 02:52, modifié 1 fois.

ViPHP
ViPHP | 5924 Messages

06 juin 2007, 02:50

En gros, il suffit de faire une division euclidienne (cours de CM2, attention :D ), pour cela on utilise l'opérateur modulo (là c'est terminale spé maths mais c'est pas dur :) ) qui calcule tout simplement le quotient entre deux nombres. Et ensuite, le calcul du reste est immédiat :
quotient = dividende modulo diviseur
reste = dividende - quotient x diviseur
Le dividende est le nombre que tu as à traiter, le diviseur est le nombre de mois dans un an.

L'implémentation donne ca :
$annees = $total_mois % 12; // % est l'opérateur modulo
$mois = $total_mois - $annees*12;
Si tu entres dans $total_mois ta donnée, tu obtiens dans $annees et $mois le résultat.

Mammouth du PHP | 804 Messages

06 juin 2007, 03:01

On ne ce moque pas merci :D

Vraiment content de voir d'autre insomniaque :wink:

je teste de suite :wink:

Mammouth du PHP | 804 Messages

06 juin 2007, 03:12

un truc cloche

j'ai fais un test sur 2 nombres

3 mois
j'obtiens 3 an et -9 Mois
27 mois
j'obtiens 3 an et -33 Mois

while($row = mysql_fetch_array($mysql_result)) {
 
    $_GET['id'] = $row['ID'];

    $_GET['age'] = $row['age'];

	
$annee = $_GET['age']%12; 

$mois = $_GET['age']-$annee*12; 

echo "$annee an et $mois"; 


Mammouth du PHP | 1885 Messages

06 juin 2007, 05:36

<?php
$total = 64;
$mois = $total % 12;
$annee = ($total - $mois) / 12;

// Affiche "5 année(s) et 4 mois"
printf('%u année(s) et %u mois', $annee, $mois);
?>
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

ViPHP
ViPHP | 5924 Messages

06 juin 2007, 07:29

Merde, c'est vrai, le modulo, ca donne le reste, pas le quotient...
Craquage...

Eléphant du PHP | 199 Messages

06 juin 2007, 09:38

Et ben alors le spé maths c'est quoi ça hein ? :p
Klomac - Blog Lambda

Mammouth du PHP | 804 Messages

06 juin 2007, 11:56

impeccable merci :D

ViPHP
ViPHP | 5924 Messages

06 juin 2007, 12:43

Et ben alors le spé maths c'est quoi ça hein ? :p
M'en fous, j'ai rien à prouver, j'ai eu 18 en maths au bac :D

Eléphant du PHP | 199 Messages

06 juin 2007, 16:45

Erf t'as géré ;) Moi c'est la semaine prochaine, j'vais tenter de te battre :)
Klomac - Blog Lambda

ViPHP
ViPHP | 5924 Messages

06 juin 2007, 16:54

Erf t'as géré ;) Moi c'est la semaine prochaine, j'vais tenter de te battre :)
Rho, c'est pas dur le bac, c'est une formalité :D