Image de l'article Convertir des octets en Javascript

Commentaires sur l'article Convertir des octets en Javascript

#1

Par codename44 à 11h43 :

Très pratique merci.
En revanche cela ne fonctionne pas pour les gros volumes > 1 To.

Il faut rajouter la ligne suivante après le "for", pour dans tous les cas renvoyer avec l'unité la plus forte :

return (aSize / def[def.length - 1][0]).toFixed(2) + ' ' + def[def.length - 1][1];

#2

Par Patrice à 13h15 :

Oui :-)
On peut aussi ajouter des nouvelles unités à la liste def selon le besoin.

#3

Par monpoto à 01h17 :

Bonsoir,
Fonction très propre, ça m'a aidé énormément dans mes projets. Par contre, je cherche une fonction JS qui fait le cas inverse c'est-à-dire on lui passe en paramètre un nombre,l’unité puis elle retourne la valeur en octet.

exemple : f(2,"Mo") = valeur en Octet

#4

Par Bawaaaaah à 14h58 :

Je renvoie le dernier commentaire le code est pas passer

J'ai apporter quelques modification comme conservation du signe et prendre la dernière valeur existante si aucune ne match
(par convention kio = 1024 octets et ko = 1000 octets)


function FileConvertSize(aSize) {
let sign = Math.sign(aSize);
aSize = Math.abs(aSize);
let def = [
[1, "octets"],
[1024, "kio"],
[1024 * 1024, "Mio"],
[1024 * 1024 * 1024, "Gio"],
[1024 * 1024 * 1024 * 1024, "Tio"],
[1024 * 1024 * 1024 * 1024 * 1024, "Pio"],
[1024 * 1024 * 1024 * 1024 * 1024 * 1024, "Eio"],
[1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024, "Zio"],
[1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024, "Yio"],
[1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024, "kYio"]
];
for (let i = 0; i < def.length; i++) {
if (aSize < def[i][0])
return (sign * (aSize / def[i - 1][0])).toFixed(2) + " " + def[i - 1][1];
}
return (sign * (aSize / def[def.length - 1][0])).toFixed(2) + " " + def[def.length - 1][1];
}

#5

Par Patrice à 00h18 :

Merci Bawaaaaah ;-)

Ajouter votre commentaire

Votre adresse ne sera pas affichée.

Elle sert à vous envoyer une notification.

 

Image Viewer