un petit truc facile pour les experts sous unity
je reçois par exemple 2 champs en INT : dans des variables INT1 et INT2, je veux les concaténer dans une chaine avec un "_" entre eux
exemple
INT1=123
INT2=456
resu souhaité=123_456
j'ai trouvé le INT_TO_STRING mais celui-ci prend forcément 5 caractères et le signe, ce qui donnerait
+00123_+00456
j'ai d'autres idées pour avoir gain de cause mais avant de tout chambouler, je voulais savoir si j'ai pas raté un truc
(je fouille les conversions possible)
Bon au final c'était pour manipuler des dates donc j'ai récupéré l'heure de l'api pour stocker mon horodate
au passage j'ai trouvé une astuce
si on stocke une horodate dans un string[16] "madate" ça donne 2021-03-12-11:05
pour remplacer le : par h, je ne pouvais pas saisir madate[13], j'ai donc créé un tableau_date de 16 string[1] localisé comme "madate"
et je peux saisir tableau_date[13]:="h"
oui mais pourquoi tout ça ? parce qu'au final ça arrive sur un PC qui va créer un fichier avec comme nom cette date et que windaube ne veut pas de : dans les noms de fichiers
oui mais pourquoi pas changer les caractères dans le PC, parce que j'aime bien avoir le même affichage en ligne sur l'automate et sur le PC
int to string
Re: int to string
Salut
si tu ne veux garder que les 3 derniers chiffres de ta conversion, tu peux utiliser la fonction delete_int pour supprimer les 4 premiers octets...
et pour changer les caractères '-' par des '_' , j'utiliserais la fonction replace_int
A+
si tu ne veux garder que les 3 derniers chiffres de ta conversion, tu peux utiliser la fonction delete_int pour supprimer les 4 premiers octets...
et pour changer les caractères '-' par des '_' , j'utiliserais la fonction replace_int
A+
-
Pierro
- Première mise en service

- Messages : 61
- Enregistré le : 17 mars 2020, 16:58
- Localisation : 127.0.0.1
Re: int to string
salut,
pour concaténer des entiers dans des chaines, la fonction MID_INT permet d'extraire une partie de la chaine de caractère. en ST ca donnerai ca:
//convection en chaine
STR1:=int_to_string(INT1) ;
STR2:=int_to_string(INT2) ;
//substitution des caractères non utilisés
STR1 := MID_INT(STR1, 3, 5);
STR2 := MID_INT(STR2, 3, 5);
A+
pour concaténer des entiers dans des chaines, la fonction MID_INT permet d'extraire une partie de la chaine de caractère. en ST ca donnerai ca:
//convection en chaine
STR1:=int_to_string(INT1) ;
STR2:=int_to_string(INT2) ;
//substitution des caractères non utilisés
STR1 := MID_INT(STR1, 3, 5);
STR2 := MID_INT(STR2, 3, 5);
A+
- itasoft
- Mi homme - Mi automate

- Messages : 7807
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: int to string
-------------Pierro a écrit : ↑12 mars 2021, 21:00 salut,
pour concaténer des entiers dans des chaines, la fonction MID_INT permet d'extraire une partie de la chaine de caractère. en ST ca donnerai ca:
//convection en chaine
STR1:=int_to_string(INT1) ;
STR2:=int_to_string(INT2) ;
//substitution des caractères non utilisés
STR1 := MID_INT(STR1, 3, 5);
STR2 := MID_INT(STR2, 3, 5);
A+
Slts,
C’est la bonne solution reste à calculer les positions et le nombre de caractères à extraire en fonction de la valeur de INT1
(* Ya la solution bestiale *)
(*exemple:*)
if INT1>=0 then
nb:=1;posi:=6;
end_if;
if INT1>=10 then
nb:=2;posi:=5;
end_if;
if INT1>=100 then
nb:=3;posi:=4;
end_if;
(* ect.... *)
Modifié en dernier par itasoft le 15 mars 2021, 04:57, modifié 5 fois.
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: int to string
merci pour les tuyaux même si finalement j'ai fait autrement, je n'avais pas pensé à traiter les données en deux fois
je pensais que j'avais raté une fonction équivalente à int_to_string mais qui me donnerait uniquement les chiffres significatifs
Mon projet comporte une partie supervision et une partie api
comme je viens de passer deux jours à manipuler les données dans pcvue, j'ai pris d'autres habitudes, notamment quand on convertit la valeur 123 en chaine ça donne "123" et pas "+00123"
je pensais que j'avais raté une fonction équivalente à int_to_string mais qui me donnerait uniquement les chiffres significatifs
Mon projet comporte une partie supervision et une partie api
comme je viens de passer deux jours à manipuler les données dans pcvue, j'ai pris d'autres habitudes, notamment quand on convertit la valeur 123 en chaine ça donne "123" et pas "+00123"
- itasoft
- Mi homme - Mi automate

- Messages : 7807
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: int to string
slts
je pensais que j'avais raté une fonction équivalente à int_to_string mais qui me donnerait uniquement les chiffres significatifs
--
non tu n'as rien raté , lol
je pensais que j'avais raté une fonction équivalente à int_to_string mais qui me donnerait uniquement les chiffres significatifs
--
non tu n'as rien raté , lol
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr

