| 33 | } |
| 34 | |
| 35 | func (b Int64) HumanString() string { |
| 36 | switch abs := math.Abs(float64(b)); { |
| 37 | case abs > PB: |
| 38 | return fmt.Sprintf("%.2fpb", float64(b)/PB) |
| 39 | case abs > TB: |
| 40 | return fmt.Sprintf("%.2ftb", float64(b)/TB) |
| 41 | case abs > GB: |
| 42 | return fmt.Sprintf("%.2fgb", float64(b)/GB) |
| 43 | case abs > MB: |
| 44 | return fmt.Sprintf("%.2fmb", float64(b)/MB) |
| 45 | case abs > KB: |
| 46 | return fmt.Sprintf("%.2fkb", float64(b)/KB) |
| 47 | default: |
| 48 | return fmt.Sprintf("%d", b.Int64()) |
| 49 | } |
| 50 | } |
| 51 | |
| 52 | func (b Int64) MarshalText() ([]byte, error) { |
| 53 | if b == 0 { |