FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Formatage d'un nombre Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Formatage d'un nombre Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Formatage d'un nombre Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Formatage d'un nombre Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Formatage d'un nombre Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Formatage d'un nombre Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Formatage d'un nombre Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Formatage d'un nombre Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Formatage d'un nombre Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Formatage d'un nombre Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Formatage d'un nombre Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Formatage d'un nombre Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Formatage d'un nombre Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Formatage d'un nombre Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Formatage d'un nombre Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-20%
Le deal à ne pas rater :
Drone Dji DJI Mini 4K (EU)
239 € 299 €
Voir le deal

 

 Formatage d'un nombre

Aller en bas 
AuteurMessage
JL35




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

Formatage d'un nombre Empty
MessageSujet: Formatage d'un nombre   Formatage d'un nombre EmptyJeu 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
 
Formatage d'un nombre
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Formatage de nombre comme "#.###.###,##"
» Comment déterminer le nombre de chiffres d'un nombre naturel
» formatage des dates
» Formatage (page A4)
» Formatage des articles

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: