FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Aujourd'hui à 16:52

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 14:16

» Compilateur FBPano
par Ouf_ca_passe Aujourd'hui à 12:25

» mise a jour calculatrice
par papydall Aujourd'hui à 2:01

» double guillemets "" dans un EDIT
par Marc Hier à 23:43

» Documentation de KGF
par Klaus Lun 20 Nov 2017 - 22:52

» Zoom sur une portion d'écran
par JL35 Lun 20 Nov 2017 - 21:51

» Recherche d'une expression dans un source
par Marc Lun 20 Nov 2017 - 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 Formatage d'un nombre

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Formatage d'un nombre   Jeu 18 Aoû 2016 - 22:45

Plus précisément, d'une taille mémoire, pour affichage (taille d'un fichier, etc.)
C'est élémentaire, mais bon, c'est un petit devoir de vacances !
Code:
DIM v,mil$,virg$,u$,nd%
v = 7123456789
mil$ = " ": ' séparateur de milliers
virg$ = ",": ' séparateuir partie entière/partie fractionnaire
u$ = "kb": ' unité
nd% = 2: ' nombre de décimales
FormatNombre(v,mil$,virg$,u$,nd%)
MESSAGE CLIPBOARD_STRING_PASTE$+" "+u$
TERMINATE
' ==============================================================================
SUB FormatNombre(v,mil$,virg$,u$,nd%)
  ' Conversion du nombre entier v (taille mémoire) en chaîne ascii
  ' mil$ = séparateur de milliers: "", ou " ", ou "."
  ' vir$ = séparateur pour les nombres fractionnaires:  "." ou ","
  ' u$ = unités:
  ' "b" octets (implicite), "kb" kilo-octets, "mb" mega-octets, "gb" giga-octets
  ' nd% = nombre maxi de décimales
  DIM_LOCAL n$,a$,b$,i%
  n$ = STR$(v): u$ = UPPER$(u$)
  IF u$ = "KB" THEN n$ = STR$(v/1000)
  IF u$ = "MB" THEN n$ = STR$(v/1000000)
  IF u$ = "GB" THEN n$ = STR$(v/1000000000)
  a$ = n$: b$ = ""
  i% = INSTR(n$,".")
  IF i% > 0
      a$ = LEFT$(n$,i%-1): ' partie entière
      b$ = RIGHT_POS$(n$,i%+1): ' partie décimale
      IF LEN(b$)>nd%: ' dernier chiffre arrondi éventuel à la valeur supérieure
          b$ = LEFT$(b$,nd%+1): i% = VAL(b$)/10: b$ = STR$(i%)
      END_IF
  END_IF
  i% = 3
  WHILE LEN(a$) > i%
      a$ = LEFT$(a$,LEN(a$)-i%)+mil$+RIGHT$(a$,i%)
      i% = i%+3+LEN(mil$)
  END_WHILE
  IF nd% > 0
      IF LEN(b$) > nd% THEN b$ = LEFT$(b$,nd%)
      IF b$ <> "" THEN b$ = virg$ + b$: a$ = a$ + b$
  END_IF
  CLIPBOARD_STRING_COPY a$
END_SUB
' ==============================================================================
Le nombre à formater est en binaire dans v
On choisit le type de séparateur de milliers éventuel, le type de séparateur partie entière/partie fractionnaire, l'unité (octet, Kb, Mb, Gb) et le nombre maxi de décimales du résultat.
S'il y a une partie fractionnaire, elle est arrondie éventuellement au chiffre supérieur.

Le résultat est rendu sous forme de chaîne Ascii dans le presse-papier.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
Formatage d'un nombre
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Formatage sous W7
» Obtenir le nombre de caractère d'un fichier sans le charger en mémoire vive
» nombre d'images dans un gif
» [Résolu] Disque externe formatage FAT/NTFS
» [Resolu] nombre de pages dans le sprite livre ??

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: