diff --git a/util.go b/util.go index 5ce4e88..93fbf6c 100644 --- a/util.go +++ b/util.go @@ -23,6 +23,34 @@ func FormatMoney(number int64) string { return strconv.FormatInt(int64(num1), 10) } +func FormatCNY(amountStr string) string { + amount, err := strconv.ParseFloat(amountStr, 64) + if err != nil { + return "" + } + + var value float64 + var unit string + + switch { + case amount < 1000: + value = amount + unit = "" + case amount < 10000: + value = amount / 1000 + unit = "k" + default: + value = amount / 10000 + unit = "w" + } + + // 去除末尾的零 + s := strconv.FormatFloat(value, 'f', 2, 64) + s = strings.TrimRight(s, "0") + s = strings.TrimRight(s, ".") + return s + unit +} + func FormatFloat(f float64) string { if int64(f*100)%100 == 0 { return fmt.Sprintf("%d", int64(f))