Convertir un nombre d'octets en ko/Mo/Go/To/Po/Eo/Zo ou kio/Mio/Gio/Tio/Pio/Eio/Zio
Procédure
proc octet_formatting {value {SI 1}} {
if { $SI } {
set base 1024
set units {kio Mio Gio Tio Pio Eio Zio}
} else {
set base 1000
set units {ko Mo Go To Po Eo Zo}
}
if { $value < $base } { return "${value}o" }
foreach unit $units {
set value [expr {$value / ($base / 1.0)} ]
if { $value < $base } {
return "[format %1.2f $value]$unit"
}
}
}
Exemple
octet_formatting 10467123877 0
Tcl: 10.47Go
octet_formatting 10467123877 1
Tcl: 9.75Gio