Bonjour à toutes et à tous,
ce que je veux réaliser est simple mais bizarrement je ne trouve pas la fonction mathématique pour le faire.
Je récupéré une valeur (int) dans mon bloc de fonction que je transfere à un DB,
si int>10 tout va bien ,
si <ou=9 , je voudrais une fonction pour changer cette valeur en 2 caractères :
exemple 9 = 09 , 6=06, 15 = 15 , 2= 02
y a t-il une fonction pour cela?
En vous remerciant.
Ajouter un champ de caractère
-
stagiaire21
- Code sa première boucle

- Messages : 19
- Enregistré le : 02 nov. 2016, 21:09
- itasoft
- Mi homme - Mi automate

- Messages : 7806
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Ajouter un champ de caractère
slts,
si int>10 tout va bien , --> ça veut dire que tu fais déjà une conversion d'un entier en une chaine de caractère.
Normalement la conversion d’un entier en chaîne de caractères donne le résultat sur 6 caractères ex : « 000009 »
il suffit de prendre les 2 caractères de droite avec une instruction du type RIGHT
si int>10 tout va bien , --> ça veut dire que tu fais déjà une conversion d'un entier en une chaine de caractère.
Normalement la conversion d’un entier en chaîne de caractères donne le résultat sur 6 caractères ex : « 000009 »
il suffit de prendre les 2 caractères de droite avec une instruction du type RIGHT
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Ajouter un champ de caractère
Salut !
Comme le dit Itasoft, le format INT c'est du numérique (les zéros à gauche sont non significatifs) alors que ce que tu veux toi (09) c'est du caractère !!
il te faudra donc convertir ton numérique en caractères si tu veux avoir cela (deux caractères occupent un mot ! chaque caractère est codé sur 1 octet )
Comme le dit Itasoft, le format INT c'est du numérique (les zéros à gauche sont non significatifs) alors que ce que tu veux toi (09) c'est du caractère !!
il te faudra donc convertir ton numérique en caractères si tu veux avoir cela (deux caractères occupent un mot ! chaque caractère est codé sur 1 octet )
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 
-
stagiaire21
- Code sa première boucle

- Messages : 19
- Enregistré le : 02 nov. 2016, 21:09
Re: Ajouter un champ de caractère
L'idée semble bonne mais malheureusement 9 se transforme en T lorsque je le passe en caractère...
8 passe bien en 08 ($08) mais au dessus cela change de forme
8 passe bien en 08 ($08) mais au dessus cela change de forme
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Ajouter un champ de caractère
Le résultat c'est bien, mais si tu veux de l'aide poste l'exemple de ton programme, ça ira mieux !stagiaire21 a écrit : ↑02 mai 2017, 14:58 L'idée semble bonne mais malheureusement 9 se transforme en T lorsque je le passe en caractère...
8 passe bien en 08 ($08) mais au dessus cela change de forme
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 
- itasoft
- Mi homme - Mi automate

- Messages : 7806
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Ajouter un champ de caractère
slts,
tu dis: si int>10 tout va bien
tu dis: si int>10 tout va bien
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Ajouter un champ de caractère
hello,
pour 2 chiffres, rien de plus simple que ça :
dizaine = (valeur) / 10 + 48
unité = (valeur) % 10 + 48 (% = modulo)
sinon, comme à dis @itasoft (et le plus "safe") fonction RIGHT sur concaténation de "00000" (padding) avec la valeur.
@+
pour 2 chiffres, rien de plus simple que ça :
dizaine = (valeur) / 10 + 48
unité = (valeur) % 10 + 48 (% = modulo)
sinon, comme à dis @itasoft (et le plus "safe") fonction RIGHT sur concaténation de "00000" (padding) avec la valeur.
@+
