Communauté Eggdrop
Convertir un nombre d'octets en ko/Mo/Go/To/Po/Eo/Zo ou kio/Mio/Gio/Tio/Pio/Eio/Zio - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Bouts de Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=17)
+--- Sujet : Convertir un nombre d'octets en ko/Mo/Go/To/Po/Eo/Zo ou kio/Mio/Gio/Tio/Pio/Eio/Zio (/showthread.php?tid=1425)



Convertir un nombre d'octets en ko/Mo/Go/To/Po/Eo/Zo ou kio/Mio/Gio/Tio/Pio/Eio/Zio - MenzAgitat - 07/10/2013

En raison de problèmes d'interprétation du forum avec certains caractères, je donne un lien vers ma page :
http://www.boulets.oqp.me/tcl/routines/tcl-toolbox-0003.html


RE: Conversion d'un nombre d'octets en Ko / Mo / Go / To / Po - CrazyCat - 07/10/2013

Je ne suis pas tout à fait d'accord. Il s'agit là du calcul binaire et non SI, donc les unités sont Kio, Mio, Tio et Pio.


RE: Conversion d'un nombre d'octets en Ko / Mo / Go / To / Po - MenzAgitat - 07/10/2013

 
Tu as entièrement raison, n'hésite pas à corriger / améliorer.
 


RE: Conversion d'un nombre d'octets en Ko / Mo / Go / To / Po - CrazyCat - 07/10/2013

J'aurais bien vu:

tcl
proc octet_formatting {value {SI 1}} {
   if { $SI == 1 } {
      set base 1024
      set u { Kio Gio Tio Pio }
   } else {
      set base 1000
      set u { Ko Go To Po }
   }
   if { $value < $base } { return "$value octets" }
   foreach unit $u {
      set value [expr {$value / $base.} ]
      if { $value < $base } {
         return "[format %1.2f $value]$unit"
      }
   }
}


Et pis voila Smile