Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // первый пришедший в голову вариант решения
- var fileSizeUnits = ['TB', 'GB', 'MB', 'kB', 'B'];
- function fileSize(size) {
- var i = fileSizeUnits.length, temp;
- while (--i) {
- temp = size / 1024
- if (temp < 1) break;
- size = temp;
- }
- return size.toFixed(2) * 1 + ' ' + fileSizeUnits[i];
- }
- // решение без цикла
- function formatSize(size) {
- var i = 0,
- base = 1024,
- prefixes = ' KMGTPEZY';
- if (size < 0) {
- throw 'Negative';
- }
- else if (size >= base) {
- i = Math.floor( Math.log(size) / Math.log(base) );
- if (i >= prefixes.length) throw 'Too large';
- size = ( size / Math.pow(base, i) ).toFixed(2) * 1 + ' ';
- }
- return size + prefixes[i] + 'B';
- }
Advertisement
Add Comment
Please, Sign In to add comment