为了账号安全,请及时绑定邮箱和手机立即绑定

两个值相除的结果为 0

两个值相除的结果为 0

Go
一只甜甜圈 2023-06-26 15:45:29
我试图对两个变量进行除法,但是当我想打印结果时,程序打印出 0te 程序正确打印了 LeadTime 和 endAmount,但 MonthAmount 打印为 0。此外,如果我删除 endAmount 和 LeadTime 周围的 float64(),它将打印为 0var leadTime intif 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
查看完整描述

1 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

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

endAmount, _ := strconv.Atoi(amountAsString)

这会给出一个错误,但你只是忽略了它。用于strconv.ParseFloat(amountAsString, 64)解决您的问题。

查看完整回答
反对 回复 2023-06-26
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信