"vscode:/vscode.git/clone" did not exist on "54eb76d48c936da9848cfa56a6c487f45cb2ecf1"
Commit 93a10821 authored by Jeffrey Morgan's avatar Jeffrey Morgan
Browse files

only show decimal points for smaller file size numbers

parent be61a817
package format package format
import "fmt" import (
"fmt"
"math"
)
const ( const (
Byte = 1 Byte = 1
...@@ -11,16 +14,32 @@ const ( ...@@ -11,16 +14,32 @@ const (
) )
func HumanBytes(b int64) string { func HumanBytes(b int64) string {
var value float64
var unit string
switch { switch {
case b > TeraByte: case b >= TeraByte:
return fmt.Sprintf("%.1f TB", float64(b)/TeraByte) value = float64(b) / TeraByte
case b > GigaByte: unit = "TB"
return fmt.Sprintf("%.1f GB", float64(b)/GigaByte) case b >= GigaByte:
case b > MegaByte: value = float64(b) / GigaByte
return fmt.Sprintf("%.1f MB", float64(b)/MegaByte) unit = "GB"
case b > KiloByte: case b >= MegaByte:
return fmt.Sprintf("%.1f KB", float64(b)/KiloByte) value = float64(b) / MegaByte
unit = "MB"
case b >= KiloByte:
value = float64(b) / KiloByte
unit = "KB"
default: default:
return fmt.Sprintf("%d B", b) return fmt.Sprintf("%d B", b)
} }
switch {
case value >= 100:
return fmt.Sprintf("%d %s", int(value), unit)
case value != math.Trunc(value):
return fmt.Sprintf("%.1f %s", value, unit)
default:
return fmt.Sprintf("%d %s", int(value), unit)
}
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment