Commentaires sur l'article Convertir des octets en Javascript

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];

codename44 à 11h43

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

Patrice à 13h15

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

monpoto à 01h17

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)

[code]
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];
}
[/code]

Patrice à 14h58

Merci Bawaaaaah ;-)

Patrice à 00h18

Ajouter votre commentaire

Votre adresse ne sera pas affichée.

Elle sert à vous envoyer une notification.