包含int变量的多个变量类型

时间:2013-02-21 16:26:17

标签: c#

我在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();

        }
    }
}

3 个答案:

答案 0 :(得分:3)

  

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

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

我们真的无法告诉你,因为你还没有指明你写的......但是如果你只是写一些像“100”这样简单的东西它应该没问题(就该错误而言)。

强烈建议您使用camelCase作为本地变量,在首次使用时声明它们(而不是在方法的顶部),并且给他们更有意义的名字 - 例如monthlyPayment而不是PMT。正如IronMan84所说,您可能还想使用decimal来获取任何货币价值,尽管我认为在抵押贷款水平上,美分不太可能产生太大影响。使用decimal来计算利率会很有意义。

答案 1 :(得分:0)

利率通常在decimaldouble变量类型中完成。试图在int变量中执行此操作会导致这些问题。

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

答案 2 :(得分:0)

如果AIR var的值为xx.xx,则应使用decimal或double类型的vars。 您应用程序中的所有变量(金融)也应为十进制/双精度。