我在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();
}
}
}
答案 0 :(得分:3)
什么是正确的格式,如何将其合并到我当前的代码中?
问题是您没有在命令行中输入整数。
我们真的无法告诉你,因为你还没有指明你是写的......但是如果你只是写一些像“100”这样简单的东西它应该没问题(就该错误而言)。
我强烈建议您使用camelCase
作为本地变量,在首次使用时声明它们(而不是在方法的顶部),并且给他们更有意义的名字 - 例如monthlyPayment
而不是PMT
。正如IronMan84所说,您可能还想使用decimal
来获取任何货币价值,尽管我认为在抵押贷款水平上,美分不太可能产生太大影响。使用decimal
来计算利率会很有意义。
答案 1 :(得分:0)
利率通常在decimal
或double
变量类型中完成。试图在int
变量中执行此操作会导致这些问题。
int
类型不是为了处理十进制值而构建的。它们用于存储整数。
答案 2 :(得分:0)
如果AIR var的值为xx.xx,则应使用decimal或double类型的vars。 您应用程序中的所有变量(金融)也应为十进制/双精度。