
[网站模板]企业官网
2025年9月7日
package main
import "fmt"
// FormatByteCountIEC byteSize Byte
func FormatByteCountIEC(byteSize uint64) (newSize float64, unitStr string) {
var basicUnitNumber float64 = 1024
newSize = float64(byteSize)
if newSize < basicUnitNumber {
return newSize, "Byte"
}
var units = []string{"KB", "MB", "GB", "TB", "PB"}
var unitIndex int
for i := 0; i < len(units); i++ {
newSize = newSize / basicUnitNumber
unitIndex = i
if newSize < basicUnitNumber {
break
}
}
return newSize, units[unitIndex]
}
func main() {
size, unit := FormatByteCountIEC(2000000)
fmt.Println(size, unit)
fmt.Println(fmt.Sprintf("%.2f", size), unit)
}