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