0

我有以下 C# 中简单控制台应用程序的代码。每当我输入第二个输入的 AIR 速率时,我都会得到“输入字符串格式不正确”作为错误。正确的格式是什么?如何将其合并到我制作的当前代码中?我不熟悉不同的变量类型。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int AIR, MIR, PMT, IP, PP, ABorrowed, Term;

            Console.WriteLine("Please enter the amount borrowed on your loan ");
            ABorrowed = int.Parse(Console.ReadLine());
            Console.WriteLine("Please enter the interest rate for your loan ");
            AIR = int.Parse(Console.ReadLine());
            Console.WriteLine("Please enter term of your loan in months ");
            Term = int.Parse(Console.ReadLine());

            MIR = AIR / 1200;

            PMT = ABorrowed * (MIR/1-(1/(1+MIR)^Term));

            IP = ABorrowed * MIR;

            PP = PMT - IP;

            Console.WriteLine("Your total payment for this month is "+PMT);
            Console.WriteLine("Of that payment " + IP + " is interest rate");
            Console.WriteLine("and the Payment Portion is " + PP);
            Console.ReadLine();

        }
    }
}
4

3 回答 3

3

正确的格式是什么?如何将其合并到我制作的当前代码中?

问题是您没有在命令行上输入整数。

我们真的不能说更多,因为你没有指定你写什么......但是如果你只是写一些像“100”这样简单的东西应该没问题(就那个错误而言)。

强烈建议你使用camelCase你的局部变量,在第一次使用时声明它们(而不是在方法的顶部),并给它们更有意义的名称 - 例如monthlyPayment代替PMT. 正如 IronMan84 所说,您可能还想使用decimal任何货币价值,尽管我猜在抵押贷款的水平上,美分不太可能有太大的不同。不过,使用decimal利率会很有意义。

于 2013-02-21T16:29:09.090 回答
0

利率通常以decimaldouble变量类型完成。试图在int变量中这样做会导致这些问题。

int类型根本不是为了处理十进制值而构建的。它们用于存储整数。

于 2013-02-21T16:28:59.363 回答
0

如果 AIR var 的值为 ie xx.xx,您应该使用十进制或双精度类型的 var。此外,您的应用程序(金融)中的所有变量都应该是十进制/双精度。

于 2013-02-21T16:49:13.990 回答