func formatBytes()

in pkg/formatter/text_template_utils.go [82:108]


func formatBytes(rawCap int32, human bool) string {
	const rpadSpace = 5
	if human {
		if rawCap == 0 {
			return "-"
		}
		format := "%.2f"
		if math.Remainder(float64(rawCap), float64(1024)) == 0 {
			format = floatFormat
		}
		capacity := float32(rawCap) / 1024
		if capacity < 1 {
			format = "%d"
			return fmt.Sprint(rpad(fmt.Sprintf(format, rawCap), rpadSpace), "MB")
		}
		if math.Mod(float64(capacity), float64(1024)) == 0 {
			format = floatFormat
		}
		tbCapacity := capacity / 1024
		if tbCapacity < 1 {
			return fmt.Sprint(rpad(fmt.Sprintf(format, capacity), rpadSpace), "GB")
		}
		return fmt.Sprint(rpad(fmt.Sprintf(format, tbCapacity), rpadSpace), "TB")
	}

	return rpad(strconv.Itoa(int(rawCap)), rpadSpace)
}