fix
This commit is contained in:
@@ -1,18 +1,31 @@
|
||||
package format
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// 数字变成带千分位的字符串
|
||||
func NumToStringWithThousandthPercentile(number int64) string {
|
||||
s := fmt.Sprintf("%d", number)
|
||||
func NumToStringWithThousandthPercentile(numberStr string) string {
|
||||
if _, err := strconv.ParseFloat(numberStr, 64); err != nil {
|
||||
log.Fatalln("is not a number")
|
||||
return ""
|
||||
}
|
||||
sliceList := strings.Split(numberStr, ".")
|
||||
s := sliceList[0]
|
||||
f := ""
|
||||
if len(sliceList) == 2 {
|
||||
f = "." + sliceList[1]
|
||||
}
|
||||
l := len(s)
|
||||
if l <= 3 {
|
||||
return s
|
||||
return s + f
|
||||
}
|
||||
r := l % 3 //前面第几位开始加入千分位
|
||||
if r == 0 {
|
||||
r = 3
|
||||
}
|
||||
b := strings.Builder{}
|
||||
for i := 0; i < l; i++ {
|
||||
b.WriteString(string(s[i]))
|
||||
@@ -21,5 +34,6 @@ func NumToStringWithThousandthPercentile(number int64) string {
|
||||
r += 3
|
||||
}
|
||||
}
|
||||
b.WriteString(f)
|
||||
return b.String()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user