我有这个字符串“ 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
所以有人知道将其转换为浮点型吗?
答案 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)