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
» Découpe dans une image
par JL35 Hier à 23:03

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par Marc Hier à 21:51

» Pour faire plaisir à Marc37.
par Marc Hier à 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Hier à 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

» Ludothèque Panoramic
par jjn4 Mar 20 Fév 2018 - 15:42

» Calculus
par Ouf_ca_passe Mar 20 Fév 2018 - 9:06

» 6 (en analyse):confusion de variable locale entre SUB et FNC
par Jack Mar 20 Fév 2018 - 8:18

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 Formatage d'un nombre

Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Formatage d'un nombre   Jeu 18 Aoû 2016 - 21: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
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: