golang 千分位打印
时间: 2024-12-24 07:12:28 浏览: 7
在Go语言中,如果你想要将数字以千分位间隔的形式进行打印,通常可以使用`strconv`包里的`Pad()`函数配合`fmt`包来实现这个功能。这里是一个简单的例子:
```go
package main
import (
"fmt"
"strconv"
"strings"
)
func format ThousandSeparator(num float64) string {
// 将数值转换为字符串并保留两位小数
str := strconv.FormatFloat(num, 'f', -1, 64)
// 分割整数部分和小数部分
intPart, fracPart := strings.Split(str, ".")
// 对整数部分按照每三位加逗号进行格式化
paddedInt := pad(intPart, 3)
// 如果有小数部分,则添加小数点和四舍五入到指定位数的小数
if fracPart != "" {
paddedInt += "."
paddedFrac := pad(fracPart, 2)
paddedInt = paddedInt + paddedFrac
}
return paddedInt
}
func pad(s string, width int) string {
padding := make([]byte, width-len(s))
for i := range padding {
padding[i] = ','
}
return s + string(padding)
}
func main() {
num := 123456789.0123
formattedNum := format(num)
fmt.Println(formattedNum) // 输出: 123,456,789.01
}
阅读全文