Updated ConvertFileSize(). Added TiB suffix.
This commit is contained in:
parent
db361bb509
commit
9955e3cd28
@ -1,16 +1,26 @@
|
|||||||
package utils
|
package utils
|
||||||
|
|
||||||
import "fmt"
|
import (
|
||||||
|
"fmt"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
var sizeSuffixes = [...]string{"B", "KiB", "MiB", "GiB"}
|
var sizeSuffixes = [...]string{"B", "KiB", "MiB", "GiB", "TiB"}
|
||||||
|
|
||||||
// ConvertFileSize converts size in bytes down to biggest units it represents.
|
// ConvertFileSize converts size in bytes down to biggest units it represents.
|
||||||
// Returns converted size, unit and, a concatenation of size and unit
|
// Returns converted size, unit and, a concatenation of size and unit
|
||||||
func ConvertFileSize(size int64) (int64, string, string) {
|
func ConvertFileSize(size int64) (float64, string, string) {
|
||||||
var idx int
|
var idx int
|
||||||
|
var fSize float64 = float64(size)
|
||||||
|
|
||||||
for idx = 0; size >= 1024; size /= 1024 {
|
for idx = 0; fSize >= 1024; fSize /= 1024 {
|
||||||
|
idx++
|
||||||
}
|
}
|
||||||
|
|
||||||
return size, sizeSuffixes[idx], fmt.Sprint(size, sizeSuffixes[idx])
|
fSizeStr := strconv.FormatFloat(fSize, 'f', 3, 64)
|
||||||
|
fSizeStr = strings.TrimRight(fSizeStr, "0")
|
||||||
|
fSizeStr = strings.TrimSuffix(fSizeStr, ".")
|
||||||
|
|
||||||
|
return fSize, sizeSuffixes[idx], fmt.Sprint(fSizeStr, sizeSuffixes[idx])
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user