Ajouter un epace dans un nombre
Bonjour à tous et toutes,
j'ai un petit soucis et je ne vois pas du tout comment m'y prendre alors je viens vous demander de l'aide.
Voilà, après mettre pris la tête toute la journée pour retirer des espaces des nombres afin de pouvoir réaliser une division, il faut malheureusement que je remette les espaces.
Voilà mon résultat actuel
T0047 ;Tuyau 1m;Marque2;jardinage;124500 ;promo
T00747;Tuyau 1m;Marque2;jardinage;49800 ;promo
T0047 ;Tuyau 1m;Marque2;jardinage;124500 ;promo
T00747;Tuyau 1m;Marque2;jardinage;49800 ;promo
J'aimerai au final avoir ceci
T0047 ;Tuyau 1m;Marque2;jardinage;12 4500 ;promo
T00747;Tuyau 1m;Marque2;jardinage;49 800 ;promo
T0047 ;Tuyau 1m;Marque2;jardinage;124 500 ;promo
T00747;Tuyau 1m;Marque2;jardinage;49 800 ;promo
Quelqu'un pourraitme donner un coup de main s'il vous plaît.
Merci de l'aide que vous m'apporterez.
Plus de détails sur mon problème
Bonjour sachadee & hackoofr :)
Excusez-moi, j'avais pas vu qu'on pouvait mettre des balises pour le code.
Mais je vais y penser maintenant
Je vous donne mon code d'origine depuis le début
Je part d'un document au départ de ce format dans le document objet.txt
"T0047" ;"Tuyau 1km";"Marque2";"jardinage";"75000";"promo"
"T00747";"Tuyau 1m";Marque2";"jardinage";"30000";"promo"
je fais un script qui retire les guillemets
Code:
1 2 3 4 5 6 7 8
| @echo off
setlocal enabledelayedexpansion
for /F "delims=" %%a in (objet.txt) do (
set a=%%a
set a=!a:"=!
echo !a!
echo !a! >>resultat.txt
) |
Je retire les espaces qui sont présents dans la colonne e (cinquième) sinon çà me réalise pas la division du script 3)
Code:
1 2 3 4 5 6 7 8
| @echo off
setlocal enabledelayedexpansion
for /F "delims=; tokens=1-6" %%a in (resultat.txt) do (
set a=%%e
set a=!a: =!
echo %%a;%%b;%%c;%%d;!a!;%%f
echo %%a;%%b;%%c;%%d;!a!;%%f>>resultat2.txt
) |
:: on ne peut pas diviser par 0.6 donc on multiplie par 1666 puis divise par 1000
Code:
1 2 3 4 5 6 7 8 9 10 11
| @echo off
setlocal enabledelayedexpansion
for /F "delims=; tokens=1-6" %%a in (resultat2.txt) do (
set a=%%e
:: set /a a=!a!/0.6
set /a a=!a!*16666/10000
echo %%a;%%b;%%c;%%d;!a!;%%f
echo %%a;%%b;%%c;%%d;!a!;%%f >>resultat3.txt
) |
Au final pour l'instant j'ai
Code:
1 2 3
|
T0047 ;Tuyau 1km;Marque2;jardinage;124995;promo
T00747;Tuyau 1m;Marque2;jardinage;49998;promo |
NB Si je ne retire pas les espace de la colonne e j'ai ce résultat
Code:
1 2
| T0047 ;Tuyau 1m;Marque2;jardinage;75 ;promo
T00747;Tuyau 1m;Marque2;jardinage;30 ;promo |
Je voudrais avoir
Code:
1 2 3
|
T0047 ;Tuyau 1m;Marque2;jardinage;124 500 ;promo
T00747;Tuyau 1m;Marque2;jardinage;49 800 ;promo |
J'ai essayé le code que vous m'avez proposé.
J'ai juste modifié le fichier cible
Code:
1 2 3 4 5 6 7 8
| @echo off
setlocal enabledelayedexpansion
(for /f "tokens=1-6 delims=;" %%a in (resultat.txt) do (
set "$Num=%%e"
set "$Num=!$Num: =!
set "$Num=!$Num:~0,-3!.!$Num:~-3!"
echo %%a;%%b;%%c;%%d;!$Num!;%%f
))>resultat2.txt |
Et j'ai le résultat suivant:(
Code:
1 2
| T0047 ;MAGASIN_1;T;Tuyau 1km;Marque2;jardinage;75;promo
T00747;MAGASIN_1;T;Tuyau 1m;Marque2;jardinage;30;promo |
Maintenant si je remplace les espaces par des points par le code ci-dessous
Code:
1 2 3 4 5 6 7 8
| @echo off
setlocal enabledelayedexpansion
for /F "delims=; tokens=1-8" %%a in (resultat.txt) do (
set a=%%e
set a=!a: =.!
echo %%a;%%b;%%c;%%d;!a!;%%f;%%g;%%h
echo %%a;%%b;%%c;%%d;!a!;%%f;%%g;%%h >>resultat2.txt
) |
j'obtiens ceci
Code:
1 2 3
|
T0047 ;Tuyau 1m;Marque2;jardinage;124500 ;promo
T00747;Tuyau 1m;Marque2;jardinage;49800 ;promo |
:( ya toujours pas les espaces
Je continue de chercher une solution à mon problème.
Merci et @+