Forum

Erreurs de données
 
Notifications
Retirer tout

Erreurs de données

Steph
(@steph)
Reputable Member
Inscription: Il y a 12 ans
Posts: 299
Début du sujet  

J'ai sollicité l'aide à la programmation de PRT pour résoudre le problème que j'ai soulevé dans le message précédant. Voici ce que j'ai transmis :

Nom de votre programme :
"S_Décompose date (jjmmaaaa)

Description :
"Décompose une date au format "jj mm aaaa" en trois variables "jour", "mois" et "année".

Commentaire :
"voici un code destiné à décomposer une date au format (jj mm aaaa) en trois variables (jour, mois et année).
J'ai chargé chaque étape du calcul dans une variable distincte afin que l'on puisse aisément vérifier le résultat de chaque étape du calcul.
D'une manière général, le calul est FAUX (!?) chaque fois que la valeur de "dat" est un nombre impair.
Curieusement, parfois, le résultat est juste avec une valeur (impair) telle que "16012011" et faux avec une autre, telle que "19012011".
Pouvez-vous me dire comment résoudre ces problèmes afin d'obtenir un code correct ?"

Code :
dat = 19012011

jj = dat / 1000000
jj1 = round(jj)
jj2 = jj1 * 1000000
jj3 = round(jj2)

mm = dat-jj3
mm1 = mm / 10000
mm2 = round(mm1)
mm3 = mm2 * 10000
mm4 = round(mm3)

aaaa = dat - mm4 - jj3

return jj1 as "jour", mm2 as "mois", aaaa as "année"
Fin du Code ___________________________________________________


   
RépondreCitation
Gilles Santacreu
(@ikiu91)
Honorable Member Admin
Inscription: Il y a 11 ans
Posts: 485
 

as tu essayé en integrant directement ton calcul dans l'elimination des decimales ?

jj1 = round(dat/1000000)

je sais par expérience aussi que prt gere tres mal les nombres avec bcp de zero, ainsi au lieu de 1000000 je mets (1000*1000) pour que ca marche mieux


   
RépondreCitation
Steph
(@steph)
Reputable Member
Inscription: Il y a 12 ans
Posts: 299
Début du sujet  

Salut,

Faire une simple soustraction avec le logiciel ProReaTime...
Est-ce une bonne idée ?

a = 19012011
b = 19010000
//__________ Le résultat
c = 00002011 // avec un cerveau (*) et une méthode très scolaire

d = a - b // résultat avec un CALCULATEUR et le logiciel ProRealTime

return c as "résultat avec un cerveau", d as "résultat avec le logiciel PRT"

(*) Là, il s'agit du mien, certes un modèle de base, mais j'imagine néanmoins qu'avec le vôtre, le résultat serait identique...Enfin j'espère !
NB : pour ceux qui n'auraient pas la prossibilité de vérifier avec PRT, le résultat du logiciel est "2012" !?


   
RépondreCitation
 Anonyme
Inscription: Il y a 53 ans
Posts: 0
 

Est-ce que quelqu'un pourrait me dire si le problème est encore présent dans la nouvelle version??

J'utilise globalement pas mal "date" et "time" dans mes codes. Je suis donc très intéressé de savoir ce qu'il en est...

merci par avance/


   
RépondreCitation
Page 2 / 2
Share: