Add a new feature of limitSize.
This commit is contained in:
36
rest/util_string.go
Normal file
36
rest/util_string.go
Normal file
@ -0,0 +1,36 @@
|
||||
package rest
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
//把一个大小转变成方便读的格式
|
||||
//human readable file size
|
||||
func HumanFileSize(bytes int64, si bool) string {
|
||||
var thresh int64 = 1000
|
||||
if si {
|
||||
thresh = 1024
|
||||
}
|
||||
if bytes < 0 {
|
||||
bytes = 0
|
||||
}
|
||||
if bytes < thresh {
|
||||
return fmt.Sprintf("%dB", bytes)
|
||||
}
|
||||
var units = []string{"kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"}
|
||||
if si {
|
||||
units = []string{"KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"}
|
||||
}
|
||||
var u = 0
|
||||
var tmp = float64(bytes)
|
||||
var standard = float64(thresh)
|
||||
for tmp >= standard && u < len(units)-1 {
|
||||
tmp /= float64(standard)
|
||||
u++
|
||||
}
|
||||
|
||||
numStr := strconv.FormatFloat(tmp, 'f', 1, 64)
|
||||
|
||||
return fmt.Sprintf("%s%s", numStr, units[u])
|
||||
}
|
Reference in New Issue
Block a user