Page 1 sur 1
Ajouter un champ de caractère
Posté : 26 avr. 2017, 17:33
par stagiaire21
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.
Re: Ajouter un champ de caractère
Posté : 26 avr. 2017, 18:08
par itasoft
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
Re: Ajouter un champ de caractère
Posté : 27 avr. 2017, 09:43
par philou77
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 )
Re: Ajouter un champ de caractère
Posté : 02 mai 2017, 14:58
par stagiaire21
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
Re: Ajouter un champ de caractère
Posté : 02 mai 2017, 16:16
par philou77
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
Le résultat c'est bien, mais si tu veux de l'aide poste l'exemple de ton programme, ça ira mieux !
Re: Ajouter un champ de caractère
Posté : 02 mai 2017, 16:24
par itasoft
slts,
tu dis: si int>10 tout va bien
Re: Ajouter un champ de caractère
Posté : 02 mai 2017, 20:11
par steph68
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.
@+