gpt4 book ai didi

Go:使用 strconv.ParseFloat 将字符串转换为 float 返回 0

转载 作者:IT王子 更新时间:2023-10-29 02:27:44 25 4
gpt4 key购买 nike

我有以下代码:

reader := bufio.NewReader(os.Stdin)
fmt.Print("room: width x length: ")

inStr, _ := reader.ReadString('\n')
result := strings.Split(inStr, "x")

string1, _ := strconv.ParseFloat(result[0], 64)
string2, _ := strconv.ParseFloat(result[1], 64)
fmt.Print(string2)

在最后一个打印语句中,如果我打印 string1 它返回正确的值,但是如果我尝试打印 string2 它返回 0,无论我输入什么值到控制台。

有人知道为什么会这样吗?谢谢!

最佳答案

替换

result := strings.Split(inStr, "x")

result := strings.Split(strings.TrimSpace(inStr), "x")

因为字符串包含 \n 所以你的第二个数组元素也包含它。

此外,我真的建议在发布此类问题之前先查看错误消息。您可以看到 strconv.ParseFloat: parsing "23\n": invalid syntax 作为下一个代码的结果

string2, err := strconv.ParseFloat(result[1], 64)
if err != nil {
fmt.Println(e)
}

关于Go:使用 strconv.ParseFloat 将字符串转换为 float 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36387416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com