Files
EdgeAdmin/internal/utils/numberutils/utils.go

43 lines
987 B
Go
Raw Normal View History

package numberutils
2021-01-19 16:14:09 +08:00
import (
"fmt"
"strconv"
)
func FormatInt64(value int64) string {
return strconv.FormatInt(value, 10)
}
func FormatInt(value int) string {
return strconv.Itoa(value)
}
2021-01-19 16:14:09 +08:00
func Pow1024(n int) int64 {
if n <= 0 {
return 1
}
if n == 1 {
return 1024
}
return Pow1024(n-1) * 1024
}
2021-01-19 16:14:09 +08:00
func FormatBytes(bytes int64) string {
2021-12-13 10:53:49 +08:00
if bytes < Pow1024(1) {
2021-01-19 16:14:09 +08:00
return FormatInt64(bytes) + "B"
2021-12-13 10:53:49 +08:00
} else if bytes < Pow1024(2) {
return fmt.Sprintf("%.2fKB", float64(bytes)/float64(Pow1024(1)))
} else if bytes < Pow1024(3) {
return fmt.Sprintf("%.2fMB", float64(bytes)/float64(Pow1024(2)))
} else if bytes < Pow1024(4) {
return fmt.Sprintf("%.2fGB", float64(bytes)/float64(Pow1024(3)))
} else if bytes < Pow1024(5) {
return fmt.Sprintf("%.2fTB", float64(bytes)/float64(Pow1024(4)))
} else if bytes < Pow1024(6) {
return fmt.Sprintf("%.2fPB", float64(bytes)/float64(Pow1024(5)))
2021-01-19 16:14:09 +08:00
} else {
2021-12-13 10:53:49 +08:00
return fmt.Sprintf("%.2fEB", float64(bytes)/float64(Pow1024(6)))
2021-01-19 16:14:09 +08:00
}
}