用千位逗号golang格式化字符串格式

时间:2019-07-16 04:11:03

标签: go

我有这个字符串“ 1,090”

我想将其转换为浮点数

v := "1,090"
s, err := strconv.ParseFloat(v, 32)
if  err != nil {
    fmt.Printf("err: %s\n", err)
    return
}
fmt.Printf("%T, %v\n", s, s)

但是它返回一个错误:

//err: strconv.ParseFloat: parsing "1,090": invalid syntax

所以有人知道将其转换为浮点型吗?

1 个答案:

答案 0 :(得分:2)

由于"1,090"中包含,逗号而失败的原因。使用,之前,必须从字符串中删除strconv.ParseFloat(v, 32)。删除逗号的一种方法是使用strings.Replace()

v := "1,090"

v = strings.Replace(v, ",", "", -1)

s, err := strconv.ParseFloat(v, 32)
if  err != nil {
        fmt.Printf("err: %s\n", err)
        return
}
fmt.Printf("%T, %v\n", s, s)