This commit is contained in:
jiangyong 2026-09-02 15:11:52 +08:00
parent 32023a91fb
commit fe4cda2ff8
1 changed files with 12 additions and 7 deletions

19
util.go
View File

@ -23,18 +23,23 @@ func FormatMoney(number int64) string {
return strconv.FormatInt(int64(num1), 10) return strconv.FormatInt(int64(num1), 10)
} }
// FormatMoney 格式化商品价格
func FormatMoneyW(number int64) string { func FormatMoneyW(number int64) string {
yuan := float64(number) / 100 sign := ""
if number < 0 {
sign = "-"
number = -number
}
yuan := float64(number) / float64(100)
// 大于等于1万时显示为万单位 // 大于等于1万时显示为万单位
if yuan >= 10000 { if yuan >= float64(10000) {
wan := yuan / 10000 wan := yuan / float64(10000)
// 格式化两位小数然后去除末尾的0 // 格式化两位小数然后去除末尾的0
str := fmt.Sprintf("%.2f", wan) str := fmt.Sprintf("%.2f", wan)
str = strings.TrimRight(str, "0") str = strings.TrimRight(str, "0")
str = strings.TrimRight(str, ".") str = strings.TrimRight(str, ".")
return str + "w" return sign + str + "w"
} }
// 小于10万时正常显示 // 小于10万时正常显示
@ -42,9 +47,9 @@ func FormatMoneyW(number int64) string {
fen := number % 100 fen := number % 100
if fen == 0 { if fen == 0 {
return strconv.FormatInt(yuanInt, 10) return sign + strconv.FormatInt(yuanInt, 10)
} }
return fmt.Sprintf("%d.%02d", yuanInt, fen) return fmt.Sprintf("%s%d.%02d", sign, yuanInt, fen)
} }
func FormatCNY(amountStr string) string { func FormatCNY(amountStr string) string {