两个值相除的结果为 0

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


te 程序正确打印了 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


一只甜甜圈
浏览 103回答 1
1回答

慕侠2389804

问题是你试图将浮动字符串转换为 intendAmount, _ := strconv.Atoi(amountAsString)这会给出一个错误,但你只是忽略了它。用于strconv.ParseFloat(amountAsString, 64)解决您的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go