Transformer des centimes en euros

[Fermé]
Signaler
-
 sddf -
Bonjour,

j'ai un fichier contenant des lignes avec un séparateur de champ ";".
Certains champs identifiés contiennent des prix en centimes d'euros et que souhaite les transformer en euros.
Comment insérer une virgule avant les deux derniers digits de ces champs ?
exemple de ligne:
article1;1234500;en stock;567890
article2;987600;rupture;3456730
.
.

Les champs 2 et 4 doivent être traités pour obtenir:
article1;12345,00;en stock;5678,90
article2;9876,00;rupture;34567,30

Avez vous une idée ?



2 réponses

Messages postés
608
Date d'inscription
mardi 12 janvier 2010
Statut
Membre
Dernière intervention
25 octobre 2015
77
bonjour,

s'agit til d'abord d'un fichier accédé par java, c, php... ou simplement excel?
5
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

bonjour,

il sera accédé par excel
la ligne contient réellement une cinquantaine de champ, une dizaine de champs identifiés doivent être transformés, les autres restent inchangés:
certains prix sont à 0 !
je cherche toujours
si je trouve je communique
Bon un ami m'a aidé:
sprintf("%.2f",$i/100) dans un awk

merci
Messages postés
608
Date d'inscription
mardi 12 janvier 2010
Statut
Membre
Dernière intervention
25 octobre 2015
77
pour être un peu ordonné.

t'a un fichier excel, où dans une seule cellule, tu trouve une grande chaine de caractères comme celle-ci: article1;1234500;en stock;567890...

est ce que la forme de ces cellules est tjrs identique: c à dire, s'agit t-il tjrs d'un nom, puis un nombre, puis un nom et puis un nombre (tt séparé par ";"), ou, est ce que cette forme peut varier, soit en longueur ou en forme elle meme?
HI,
en fait j'ai fait de la sorte:
awk -F';' '{ ligne=""; champ=""; for (i=1;i<=NF;i++) { if( (i==14) || (i==15) || (i==17) || (i==20) || (i==21) || (i==23) || (i==27) ) { champ=sprintf("%.2f",$i/100) } else { champ=$i } ; ligne=ligne ";" champ } ; print ligne }' /tmp/file
cela fonctionne
par contre je cherche autre chose
je fais un nouveau post
tes idées sont les bienvenues
Bonne journée
Fab