[Conception] Problème de décimales Access>PHP
Bonjour,
Je travaille avec un fichier txt généré par le script vbs suivant depuis une base Access. Je ne suis pas l'auteur de ce script.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| filepath = "\\serveur\rep\equipe\Gestion\export\factures"
set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.CreateTextFile(filepath&"\facture.txt", True)
tf.WriteLine ("ID;N°Facture;NomC;Montant;adr;cp;com")
Set Conn = CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=Gestion.mdb;"
Set RS = CreateObject("ADODB.Recordset")
'SQL = "SELECT * FROM ACTION"
SQL = "SELECT *,[clients]![nom] as cli,clients!Adresse & auditeurs!Adresse AS adr, clients![Code postal] & auditeurs![Code postal] AS cp, clients!Commune & auditeurs!Commune AS com FROM ((Facturation LEFT JOIN (Conventions LEFT JOIN CLIENTS ON Conventions.[Code client] = CLIENTS.[Code client])"_
&" ON Facturation.N°Ligne = Conventions.N°Convention) LEFT JOIN [AFFECTATION AUDITEUR ACTION] ON Conventions.[Code auditeur] = [AFFECTATION AUDITEUR ACTION].N°ligne) LEFT JOIN AUDITEURS ON"_
&" [AFFECTATION AUDITEUR ACTION].[Code auditeur] = AUDITEURS.[Code auditeur] WHERE Facturation.Montant<>0 AND [clients]![Nom] & [auditeurs]![nom] & [auditeurs]![Prénom]<>'""' and Facturation.Payé=No"
rs.open SQL, conn, 3, 3
do while not rs.eof
tf.WriteLine (rs("ID")&";"&rs("N°Facture")&";"&rs("cli")&rs("nom")&" "&rs("Prénom")&";"&Round(rs("Montant"),2)&";"&rs("adr")&";"&rs("cp")&";"&rs("com"))
rs.movenext
loop |
J'ai développé des pages web qui puisent des informations dans le fichier .txt généré (montant, nom, prénom etc...) pour un paiment en ligne via Paybox. A l'origine, le montant dans ce fichier indiquait les 2 décimales après la virgule.
Suite à un crash du serveur cet été, le fichier n'est plus le même. il indique seulement les décimales si besoin, genre :
1000
512,4
45,12
et du coup mon code php foire... car paybox reçoit les infos suivantes :
1000 (soit 10 € au lieu de 1000) et 5124 (soit 51,24€).
J'ai tenté de multiplier par 100 les valeurs du fichier mais j'obtiens :
100000
51200
4500
mes décimales sont arrondies à 0 !
Y'a-t-il moyen d'utiliser une fonction PHP pour rétablir mes décimales ? Doit-on intervenir sur le script vbs qui génère le .txt ?
Merci infiniment de votre aide...
Et meilleurs voeux à tous les développeurs !!