FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Form(résolu)
Une astuce qui pourrait servir ! Emptypar leclode Aujourd'hui à 17:59

» trop de fichiers en cours
Une astuce qui pourrait servir ! Emptypar Marc Aujourd'hui à 11:42

» Bataille navale SM
Une astuce qui pourrait servir ! Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
Une astuce qui pourrait servir ! Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
Une astuce qui pourrait servir ! Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Une astuce qui pourrait servir ! Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Une astuce qui pourrait servir ! Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Une astuce qui pourrait servir ! Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Une astuce qui pourrait servir ! Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Une astuce qui pourrait servir ! Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Une astuce qui pourrait servir ! Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Une astuce qui pourrait servir ! Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Une astuce qui pourrait servir ! Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Une astuce qui pourrait servir ! Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Une astuce qui pourrait servir ! Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -29%
PC portable – MEDION 15,6″ FHD Intel i7 ...
Voir le deal
499.99 €

 

 Une astuce qui pourrait servir !

Aller en bas 
5 participants
AuteurMessage
papydall

papydall


Nombre de messages : 6996
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Une astuce qui pourrait servir ! Empty
MessageSujet: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 3:05

Salut tout le monde

Question :

Comment déterminer le nombre de chiffres d’un nombre quelconque ? (par exemple N = 123456789)
Probablement, vous répondez :
Code:
dim n
n = 123456789
print len(str$(n))
Parfait, ce code affiche bien : 9 qui est la bonne réponse.

Maintenant, essayez ceci :
Code:
dim n 
n = 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
print len str$(n)
Vous vous attendiez à ce que ce code affiche 99 (c’est le nombre des chiffres de N, faites le compte si vous en doutez).
Hé bien, exécutez pour voir.
Le résultat est .... (tenez-vous bien) 19 !!!

Surtout ne criez pas au BUG ! CAR CE N’EST PAS UN BUG.
En effet, PANORAMIC transforme ce nombre (qui est trop long) en une notation de puissance de dix : 1.23456789012346E98 qui (sous cette forme) comporte évidemment 19 caractères !

La solution alors ?

On va utiliser une astuce mathématique qui fonctionne avec tous les nombres :
Pour connaître le nombre de chiffres d’un nombre N, on prend la partie entière du logarithme décimal de ce nombre, à laquelle on ajoute 1

Exemple :
Code:
dim n,c
n = 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
c = int(log10(n))+1
print " Ce nombre comporte ";c;" chiffres"

Ça marche avec n’importe quel nombre > 0
La fonction logarithme n'est pas définie pour les nombres <= 0.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 7:09

Jolie astuce
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 9:49

Trop fort papydall... je vais m'en servir tout le temps pour compter mes sous.
Revenir en haut Aller en bas
Francis-mr




Nombre de messages : 185
Date d'inscription : 26/11/2012

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 10:19

Bonjour
N'est-il pas plus simple d'utiliser une variable string$ ? Car ça fonctionne aussi.
Code:
dim n$
n$ = 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
print len(n$)
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 10:44

Oui, mais justement c'est là que le bât blesse et ce que montre papydall, on ne peut pas passer du grand nombre à la string.
Si par exemple ce grand nombre est le résultat d'un calcul ?
Revenir en haut Aller en bas
mindstorm

mindstorm


Nombre de messages : 684
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 12:26

Bonjour a tous
papydall se mets 10E98 fois en string!!!!!
Very Happy je crois ne pas avoir bien compris?
Enfin si il ne s ennuie plus
plus serieusement il nous fait prendre consience de la necessit.ee d etre vigilant dans nos formules.
Mindstorm
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 6996
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 12:49

@Francis mr
Bien sûr un string fait l’affaire ; mais comment passer du nombre à ce string ?
Par hypothèse, on part d’un nombre n = .... dont on ne connait pas d’avance la valeur.
Or STR$(n) ne convient pas comme dit dans mon 1er post.
Code:
dim n
n = power(10,20)
print len(str$(n)) : ' donne 4 parce que N est transformé en 1E20
print int(log10(n))+1 : ' donne 21 qui est bien le nombre des chiffres de N

@JL35
Pour compter tes sous, tu ferais mieux de me les envoyer et tu recevras en retour le bon compte !


Cette astuce qui ne sert pas tout le temps à compter ses sous, n’est, en fait, qu’une façon de répondre à une question inutile : comment connaitre le nombre de chiffre d’un nombre de plusieurs chiffres ?
Si vous avez une autre solution, je suis preneur.

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 13:04

Il est malin le Papydall, il te renvois le compte et pas les sous ... malin .... Very Happy
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 13:38

@papydall, merci, c'est gentil de ta part et j'apprécie ta proposition à sa juste valeur, mais je ne veux pas t'ennuyer avec mes petits problèmes domestiques Very Happy
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 6996
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 17:17

Il n’y a pas de quoi JL35.
J’ai voulu te rendre service dans le cas où tu ne savais pas comment calculer (en PANORAMIC) le nombre des chiffres du montant total de tes sous.
Alors, garde tes sous : tu as la formule magique pour faire le calcul ! Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 17:37

Je n'ai jamais douté que ça partait d'un bon sentiment, en tout cas, merci pour la formule qui va bien m'occuper pour mes longues soirées d'hiver (l'hiver dernier, qui ici n'est pas encore terminé).
Allez, entre nous tu peux m'appeler JL tout court Very Happy
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 6996
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! EmptyMar 21 Mai 2013 - 17:45

Ok JL tout court Une astuce qui pourrait servir ! 3d-moqueur-rire-3

On n'a jamais vu un hiver pareil depuis l'été dernier !Une astuce qui pourrait servir ! 0021
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Une astuce qui pourrait servir ! Empty
MessageSujet: Re: Une astuce qui pourrait servir !   Une astuce qui pourrait servir ! Empty

Revenir en haut Aller en bas
 
Une astuce qui pourrait servir !
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Ca pourrait être utile dans un jeu 2D...
» je ne sais plus me servir des sprites
» Astuce : GRID_ROW_NUMBER ; GRID_COLUMN_NUMBER
» Fairy Cat pourrait doubler votre argent
» Astuce pour une form

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: