package main import ( "fmt" "math" "strconv" ) /* 输入的金额、年化利息(0.05代表5%)、还款年数 输出月供,还款金额 */ func main() { var moneyStr,pYearStr,yearStr string fmt.Println("请输入您要借贷的金额、年化利率(%)、还款年数") fmt.Scan(&moneyStr, &pYearStr, &yearStr) //把moneyStr转换为float64 m, _ := strconv.ParseFloat(moneyStr, 64) //将年利率转化为月利率 pYear, _ := strconv.ParseFloat(pYearStr, 64) p := pYear / 100 / 12.0 //计算还款的月数 year, _ := strconv.ParseFloat(yearStr, 64) n := year * 12 /*套用公式进行计算*/ monthPay := (m*p*math.Pow(1+p, n))/(math.Pow(1+p, n)-1) totalPay := monthPay * n /*输出结果,精确到2位小数*/ fmt.Printf("月供为%.2f\n", monthPay) fmt.Printf("还款总额为%.2f\n", totalPay) }
输出:
请输入您要借贷的金额、年化利率(%)、还款年数 1000000 6 20 月供为7164.31 还款总额为1719434.54