This commit is contained in:
2020-06-29 22:05:02 +00:00
parent 31f87a7eb8
commit e263275abf
8 changed files with 84 additions and 9 deletions

View File

@@ -228,5 +228,34 @@ export default {
return new Intl.NumberFormat(languageName, {
minimumFractionDigits: 2
}).format(value);
},
///////////////////////////////////////////
// Turn a file / memory size number into a local
// decimal format display and in reasonable human readable range
//
humanFileSize(bytes, languageName, si = false, dp = 1) {
const thresh = si ? 1000 : 1024;
if (Math.abs(bytes) < thresh) {
return bytes + " B";
}
const units = si
? ["kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]
: ["KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"];
let u = -1;
const r = 10 ** dp;
do {
bytes /= thresh;
++u;
} while (
Math.round(Math.abs(bytes) * r) / r >= thresh &&
u < units.length - 1
);
return (
this.decimalLocalized(bytes.toFixed(dp), languageName) + " " + units[u]
);
}
};