Go基础结构与类型06---房贷计算器

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