[résolu][Ti-Basic]Compter le nombre de chiffres d'une variable

Compter le nombre de chiffres d'une variable [résolu][Ti-Basic] - Divers - Programmation

Marsh Posté le 09-12-2007 à 17:19:15    

Salut à vous,
Je ne sais pas si des programmeurs sur calculette Ti se baladent sur ce forum , je l'éspère.
En fait , je voudrais juste savoir si il y a un moyen de compter le nombre de caractères d'une variable numérique. C'est pour que le nombre s'affiche à une certaine position sur l'écran en fonction de sa taille.
Je m'explique, je veux que mon nombre soit "collé" à droite de l'écran (je peux le faire pour un nombre dont le nombre de caractère est déterminé à l'avance) , sans que , si le nombre dépasse par exemple 3 caractères, la suite déborde de l'écran et soit illisible.
 
J'éspère avoir été assez clair  :D  
 
Merci d'avance.


Message édité par cybkiller le 14-12-2007 à 15:51:59
Reply

Marsh Posté le 09-12-2007 à 17:19:15   

Reply

Marsh Posté le 09-12-2007 à 17:54:34    

Y'a une fonction length() pour les Strings, mais ça ne doit pas marcher pour des nombres.
 
Et pour convertir les nombres en string, c'est le bordel : http://tibasicdev.wikidot.com/number-to-string  :D

Reply

Marsh Posté le 09-12-2007 à 18:33:14    

J'ai pas trouvé la fonction length dans le "catalog" de la calculatrice.(C'est une ti 89 titanium).

 

edit: en allant sur le site tibasicdev , j'ai cherché mais le language de programmation n'est pas le même. Le language de programmation de ti n'est alors probablement pas du ti basic comme je le pensais. 8|


Message édité par cybkiller le 09-12-2007 à 18:36:44
Reply

Marsh Posté le 09-12-2007 à 18:50:26    

Ah ouais sur les 89-92+-v200, c'est possible qu'il y ait une différence, j'me rappelle plus. J'ai une 92+, mais j'me suis jamais intéressé à la prog dessus. Par contre sur la 83+ de ma meuf, j'ai fait un snake vite-fait, et y'a énormement de limitations, c'est en plus extra-lent.
 
Pour faire ce que tu veux faire, à partir utiliser une méthode arithmétique (genre diviser par 10 jusqu'à tomber sur 0, ce qui donnerait le nombre de chiffres)...

Reply

Marsh Posté le 09-12-2007 à 20:03:04    

Au lieu de faire des divisions successives par 10, tu dois pouvoir utiliser le logarithme (en base 10).
Si X est ta variable, alors int(log(X))+1 doit etre le nombre de chiffres. (int désignant la partie entiere).
Bien sur, ca ne marche que pour les nombres positifs, et la formule ne doit plus tres bien fonctionner pour les nombres à virgule.
Pour le reste, ca m'a l'air d'aller.
 
Non?

Reply

Marsh Posté le 09-12-2007 à 20:43:49    

Ah c'est pas con ça [:dawa]

 

Sur wikipédia, c'est expliqué que si le log10 d'un entier est du style x,y (x étant la partie entière donc), le nombre doit être de la forme z.10^x , donc ça rejoint la méthode de la division successive par 10, mais en beaucoup plus élégant


Message édité par FlorentG le 09-12-2007 à 20:44:05
Reply

Marsh Posté le 14-12-2007 à 15:51:43    

Salut à vous , ça marche avec le log ! merci à tous , résolu.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed