代码改变世界

golang 千位分隔符

2018-05-03 17:34  DillGao  阅读(3559)  评论(0编辑  收藏  举报

项目需求将统计出的数字以千位分隔符分隔的形式展示(如将 1234567.89 格式化为 1,234,567.89),而 golang 的标准库中并无这样的函数。

万能的 google 找到解决办法,可参考 https://stackoverflow.com/questions/13020308/how-to-fmt-printf-an-integer-with-thousands-comma

利用第三方库 golang.org/x/text/message

由于“你懂得”的原因,无法直接 go get 安装,采用git 安装,参考https://blog.csdn.net/qq_35191331/article/details/79655839

mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/text.git

 

例子:

package main

import (
	"fmt"
	"golang.org/x/text/language"
	"golang.org/x/text/message"
)

func main() {

	m := 123456789.99

	p := message.NewPrinter(language.English)
	fmt.Println(p.Sprintf("%.2f", m))

}

执行后输出:

123,456,789.99