Front/Utils
[ Utils ] Unit Conversion
Yume Dev
2025. 7. 29. 00:34
반응형
byte를 용량에 따라서 자동으로 단위 설정을 하여 보여주는 함수이다.
최소 단위는 MB로 설정되며 만약 용량이 엄청 작다면 0 MB로 결과가 나오게 된다.
function formatBytes(bytes: number, decimals: number = 2) {
const dm = decimals < 0 ? 0 : decimals
if(bytes === 0) {
return `0.${'0'.repeat(dm)} MB`
}
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
let i = Math.floor(Math.log(bytes) / Math.log(1024))
if(i < 2) {
i = 2;
}
const value = (bytes / Math.pow(1024,i)).toFixed(dm)
return value + ' ' + sizes[i]
}728x90
반응형