Chaine de carractère Virgule en point et inversement
cs_Rowan
Messages postés12Date d'inscriptionjeudi 26 février 2004StatutMembreDernière intervention16 septembre 2004
-
5 mai 2004 à 11:38
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
6 mai 2004 à 18:30
Bonjour à tous et à toutes,
J'aimerai savoir si j'extrais une chaine de carractère de type String. Ex Toto : String.
Que cette chaine est initialisée par la valeur :
Toto : ='1,569';
Je voudrai que cette chaine devienne 1.569
La valeur de Toto serait égale à 1.569
DecimalSeparator ne suffit à lui seul à résoudre mon problème.
Et inversement J'ai la valeur 1.569 que je veux transformer en 1,569
Si quelqu'un a une solution à m'apporter, j'en serai très ravis car je galère dans l'application que je développe en ce moment.
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 5 mai 2004 à 12:36
Voir le code ci-dessous :
procedure CheckDecSeparator(var Toto: string);
var
CarPos: integer;
begin
if DecimalSeparator = '.' then
begin
//Rechercher une virgule
CarPos := Pos( ',', Toto);
if CarPos <> 0 then
Toto[CarPos] := DecimalSeparator;
end
else
if DecimalSeparator = ',' then
begin
//Rechercher un point
CarPos := Pos('.', Toto);
if CarPos <> 0 then
Toto[CarPos] := DecimalSeparator;
end;
end;
Exemple d'utilisation :
procedure TForm1.Button1Click(Sender: TObject);
var
Toto: string;
begin
Toto := '1,569';
CheckDecSeparator(Toto);
ShowMessage(Toto);
end;
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 6 mai 2004 à 18:30
En l'occurence, il s'agissait de remplacer la virgule par un point (ou l'inverse, selon le cas). Mais, en aucun cas, de transformer une chaine en un réel.