ABOUT ME

-

  • [ Utils ] Unit Conversion
    Front/Utils 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
    반응형

    'Front > Utils' 카테고리의 다른 글

    [ Utils ] Random Id  (0) 2025.07.02
    [ Utils ] Date Formatter  (0) 2025.07.02