gpt4 book ai didi

go - 两个值的除法结果为 0

转载 作者:数据小太阳 更新时间:2023-10-29 03:46:23 24 4
gpt4 key购买 nike

我试图对两个变量进行除法,但是当我想打印结果时,程序打印出 0

leadTime 和 endAmount 由 te 程序正确打印,但 monthlyAmount 打印为 0。此外,如果我删除 endAmount 和 leadTime 周围的 float64(),它将打印为 0

var leadTime int
if currentAge < 45 {
leadTime = 120
} else if currentAge > 45 && currentAge < 55 {
leadTime = 90
} else if currentAge > 55 {
leadTime = 60
}
endAmount, _ := strconv.Atoi(amountAsString)

monthlyAmount:= (float64(endAmount) / float64(leadTime)
fmt.Println("leadTime :", leadTime )
fmt.Println("Total amount:", endAmount)
fmt.Println("monthlyAmount:", monthlyAmount)

使用我正在测试的标准输入,leadTime = 120 和 endAmount = 93735.00 所以 monthlyAmount 应该是:781.13

最佳答案

问题是你试图将 float 字符串转换为 int

endAmount, _ := strconv.Atoi(amountAsString)

这会报错,但你只是忽略了它。使用 strconv.ParseFloat(amountAsString, 64) 来解决您的问题。

检查 Playground example查看错误和工作代码

关于go - 两个值的除法结果为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56611436/

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