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
» Dessin 2D: largeur de trait
par JL35 Aujourd'hui à 16:10

» Projet de planétarium virtuel.
par Pedro Alvarez Aujourd'hui à 14:28

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Hier à 18:32

» Animation: Feux de signalisation
par Minibug Hier à 18:28

» Quantité de mémoire utilisée par un exe
par Jack Mar 19 Juin 2018 - 14:39

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 6:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 12:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 17:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 17:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 18:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 18:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 14:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 12:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 16:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 12:16

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Formatage d'un nombre

Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Formatage d'un nombre   Jeu 18 Aoû 2016 - 19: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 En ligne
 
Formatage d'un nombre
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Obtenir le nombre de caractère d'un fichier sans le charger en mémoire vive
» nombre d'images dans un gif
» [Resolu] nombre de pages dans le sprite livre ??
» Voir le nombre de points qu'à votre forum
» Le jeu du nombre !!

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: