我试图对两个变量进行除法,但是当我想打印结果时,程序将打印出0
teTime已正确打印了LeadTime和endAmount,但是将monthAmount打印为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,因此每月金额应为:781.13
答案 0 :(得分:0)
问题是您尝试将浮点字符串转换为
中的intendAmount, _ := strconv.Atoi(amountAsString)
这将给出一个错误,但是您只是忽略了它。使用strconv.ParseFloat(amountAsString, 64)
解决您的问题。
检查游乐场example来查看错误和工作代码