12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package common
- import (
- "strings"
- )
- var digitMap = map[int]string{
- 0: "零", 1: "一", 2: "二", 3: "三", 4: "四",
- 5: "五", 6: "六", 7: "七", 8: "八", 9: "九",
- }
- func NumToChinese(num int) string {
- if num < 1 || num > 100 {
- return ""
- }
- if num == 100 {
- return "一百"
- }
- var sb strings.Builder
- tens := num / 10
- units := num % 10
- // 十几的特殊情况
- if tens == 1 {
- if units == 0 {
- return "十"
- }
- sb.WriteString("十")
- if units > 0 {
- sb.WriteString(digitMap[units])
- }
- return sb.String()
- }
- // 二十、三十一 等
- if tens > 1 {
- sb.WriteString(digitMap[tens])
- sb.WriteString("十")
- }
- if units > 0 {
- sb.WriteString(digitMap[units])
- }
- return sb.String()
- }
|