Голанг получит десятичный разделитель для текущей культуры - PullRequest
0 голосов
/ 01 сентября 2018

Есть ли способ на Голанге получить текущий десятичный разделитель ОС в Windows?

Я знаю, что в настройках Географической области на панели управления вы можете назначить свой собственный десятичный разделитель, поэтому должен быть способ получить это значение ... или нет?

Я хочу использовать fmt.Printf () и отформатировать любое число с плавающей точкой, используя текущий десятичный символ ОС.

1 Ответ

0 голосов
/ 01 сентября 2018

Я хочу использовать fmt.Printf () и отформатировать любое число с плавающей точкой, используя текущий десятичный символ ОС.

Чтобы получить текущую языковую ОС, вы можете использовать кроссплатформенный пакет, такой как 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.\n", 1500)
    }
    {
        p := message.NewPrinter(tagLanguage)
        p.Printf("There are %v flowers in our garden.\n", 1500)
    }
}

Как видите, вы больше не используете пакет fmt напрямую, вместо этого вам нужно создать Printer и использовать его для правильного отображения текста.

, чтобы получить более подробную информацию об использовании этого пакета, вы можете прочитать https://phraseapp.com/blog/posts/internationalization-i18n-go/

Есть ли способ на Голанге получить текущий десятичный разделитель ОС в Windows?

Мне не удалось определить, как извлечь эту информацию из текстового пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...