Page 1 sur 1

RESOLU Formater un nombre

Publié : ven. 17/août/2018 9:12
par pierre003
Bonjour a toutes et a tous,
J’ai cherché mais pas trouvé la fonction pour formater un nombre (elle existe peut être).
J’ai bricolé un bidule, je sais c’est un peu rustique mais en apparence ça marche.
Si vous avez d’autres solutions je suis preneur.
Pierre
PS : 3 lignes nécessaires, les autres c’est pour les essais (jusqu’à 10 décimales ça a l’air bon).

Code : Tout sélectionner

EnableExplicit
Global Nbs.f

; 2 lignes infos formatage ***
Global dc.u =3; <====  Nombre de décimales à changer           nécessaire
Global n2.f=0.00000001 ; sinon problèmes avec les entiers       nécessaire
;************************

Define a.i
For a=1 To 14
        nbs=Random(10000, 0)/9
        Debug  "Nombre : " +nbs
        ; formatage du nombre nbs  
        Debug "Formaté :" + StringField(StrF(nbs),1,".")+"."+Left( StringField(StrF(nbs)+n2,2,"."),dc); nécessaire
        ; fin ***************
        Debug "************"
Next


Re: Formater un nombre

Publié : ven. 17/août/2018 9:42
par Marc56
J’ai cherché mais pas trouvé la fonction pour formater un nombre (elle existe peut être).
Il y a des chances pour qu'une fonction de formatage soit préfixée « Format» 8)

Donc... :idea:

F1
Onglet Index
Taper "Format"
Valider
:arrow: FormatNumber :)

ou

https://www.purebasic.com/french/docume ... index.html
Cliquer sur F
On Trouve FormatDate, FormatNumber, FormatXML
https://www.purebasic.com/french/docume ... umber.html

Bien que la description indique "Formate un nombre au format monétaire." on peut formatter n'importe quel nombre.

En ne précisant aucun paramètre, on a un affichage à 2 décimale et avec la virgule comme séparateur de milliers

PS. Cette fonction est arrivée avec la version 5.50 en 2016, donc tu as peut-être utilisé une ancienne donc ?

:wink:

Re: Formater un nombre

Publié : ven. 17/août/2018 10:13
par microdevweb
Bonjour,

Une fonction existe

Code : Tout sélectionner

v.d = 124589631210.458
; Ex 1
Debug FormatNumber(v,2,",",".") ; retourne 124.589.631.210,45
; Ex 2 
Debug FormatNumber(v,2,",",".")+ " €" ; retourne 124.589.631.210,46 €

Re: Formater un nombre

Publié : ven. 17/août/2018 10:50
par pierre003
Marc56 a écrit :
J’ai cherché mais pas trouvé la fonction pour formater un nombre (elle existe peut être).
Il y a des chances pour qu'une fonction de formatage soit préfixée « Format» 8)

PS. Cette fonction est arrivée avec la version 5.50 en 2016, donc tu as peut-être utilisé une ancienne donc ?
:wink:
Merci pour ta réponse.
Nom j’utilise maintenant la version 5.60, mais comme je n’avais rien trouvé avec l’ancienne j’étais parti là-dessus. :oops:
Ça m’a permis de me torturer le neurone pour trouver ce palliatif.
Je retourne me chauffer la tête sur mon projet.
Bonne journée.

Re: Formater un nombre

Publié : ven. 17/août/2018 21:08
par pierre003
microdevweb a écrit :Bonjour,

Une fonction existe

Code : Tout sélectionner

v.d = 124589631210.458
; Ex 1
Debug FormatNumber(v,2,",",".") ; retourne 124.589.631.210,45
; Ex 2 
Debug FormatNumber(v,2,",",".")+ " €" ; retourne 124.589.631.210,46 €
Merci pour ton aide, j’étais passé à coté comme beaucoup d’autre chose.
Par exemple je n’ai pas vu de tri pour listicongadget, donc j’ai supposé que ça n’existait pas ?
C’est dommage car je balançais toutes les personnes (sur 3900) qui sont nées à X km d’une commune dans la listicongadget et au moment de trier ?? car 422 personnes qui sont nées dans un rayon de 5 km autour d’un lieux si ce n’est pas trié c’est pas mal la pagaille :? .
Donc j’ai tout envoyé dans un tableau pour trier et renvoyé dans la listicongadget et en 2 secondes la liste est sortie et triée.
Et miracle ça marche.
Bon WE