Golang获得当前文化的小数分隔符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang获得当前文化的小数分隔符相关的知识,希望对你有一定的参考价值。
在Golang中有一种方法可以在Windows中获取当前的OS小数分隔符吗?
我知道在控制面板的地理区域设置中,您可以指定自定义小数分隔符,因此必须有办法获得此值...或者不是?
我想使用fmt.Printf()并使用OS当前十进制符号格式化任何浮点数。
答案
我想使用fmt.Printf()并使用OS当前十进制符号格式化任何浮点数。
要获得当前的语言操作系统,您可以使用跨平台软件包,例如https://github.com/cloudfoundry-attic/jibber_jabber
要打印本地化文本,您可以使用https://godoc.org/golang.org/x/text中提供的文本包
例
package main
import (
"fmt"
"github.com/cloudfoundry/jibber_jabber"
"golang.org/x/text/language"
"golang.org/x/text/message"
)
func main() {
userLanguage, err := jibber_jabber.DetectLanguage()
if err != nil {
panic(err)
}
fmt.Println("Language:", userLanguage)
tagLanguage := language.Make(userLanguage)
fmt.Println("Language:", tagLanguage)
{
p := message.NewPrinter(language.BritishEnglish)
p.Printf("There are %v flowers in our garden.
", 1500)
}
{
p := message.NewPrinter(tagLanguage)
p.Printf("There are %v flowers in our garden.
", 1500)
}
}
如你所见,你不再直接使用fmt
包,而是你必须创建一个Printer
并使用这个来适当地显示文本。
要获得有关此软件包用法的更多详细信息,请阅读https://phraseapp.com/blog/posts/internationalization-i18n-go/
在Golang中有一种方法可以在Windows中获取当前的OS小数分隔符吗?
我无法确定如何从文本包中提取此信息。
以上是关于Golang获得当前文化的小数分隔符的主要内容,如果未能解决你的问题,请参考以下文章