IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Free Pascal Discussion :

Connaître le nombre de chiffres d'un nombre [Free Pascal]


Sujet :

Free Pascal

  1. #1
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 102
    Points : 15 587
    Points
    15 587
    Billets dans le blog
    9
    Par défaut Connaître le nombre de chiffres d'un nombre
    Bonjour tout le monde !

    Je cherchais une fonction pour obtenir le nombre de chiffres d'un nombre. Je suis tombé sur une formule,

    On en déduit alors que n
    est l’entier immédiatement supérieur (ou égal) à log(N)
    .
    que j'ai traduite de la façon que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    (* https://www.mathweb.fr/euclide/2019/03/02/nombre-de-chiffres-dun-nombre/ *)
     
    uses
      SysUtils, Math;
     
    const
      N = 10;
     
    var
      f: float;
      i: integer;
     
    begin
      f := Log10(N);
      i := Ceil(f);
     
      WriteLn(i);
    end.
    Mais pour 10, ça renvoie 1 au lieu de 2.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  2. #2
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 396
    Points : 628
    Points
    628
    Billets dans le blog
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    i = Trunc(Log10(N)) + 1;

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 102
    Points : 15 587
    Points
    15 587
    Billets dans le blog
    9
    Par défaut
    Merci !
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #4
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 525
    Points : 4 842
    Points
    4 842
    Par défaut
    Bonjour,

    Il serai peut être utile de faire un test de 0 et de signe : si N = 0 retourner 1 sinon trunc(log10(abs(N)))+1. Si on considère que le signe - doit être compté il faut ajouter 1 si N < 0.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 102
    Points : 15 587
    Points
    15 587
    Billets dans le blog
    9
    Par défaut
    Bonjour Guesset. Merci pour ces précisions.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Limiter le nombre de chiffre apres la virgule ?
    Par MaxiMax dans le forum ASP.NET
    Réponses: 3
    Dernier message: 01/08/2011, 15h20
  2. Limiter nombre de chiffre apres la virgule
    Par MaxiMax dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/08/2005, 13h02
  3. arrondir un nombre à 2 chiffres après la virgule
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/02/2005, 09h36
  4. [MFC] Nombre de chiffres après la virgule
    Par karl3i dans le forum MFC
    Réponses: 3
    Dernier message: 27/01/2004, 14h04
  5. [LG]Former un nombre entier à partir de chiffre naturel.
    Par lecanardjaune dans le forum Langage
    Réponses: 2
    Dernier message: 12/11/2003, 23h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo