Eine nicht behandelte Ausnahme des Typs 'System.FormatException " ist in mscorlib.dll Fehler bei der Verwendung von Parse
Einsteiger in die Welt der Programmierung zu tun haben, die Zuordnung der hier aufgeführten: Lesen und verarbeiten von input
Nun, ich habe es endlich umschlossen meine Kopf herum, wie den code zu schreiben (unten zu sehen), aber ich erhalte immer "Eine nicht behandelte Ausnahme des Typs 'System.FormatException " ist in mscorlib.dll. Zusätzliche Informationen: Eingabezeichenfolge hatte nicht korrekten format." wenn ich versuche, aus meinem Programm. Es hält Kennzeichnen bis auf "Brutto" = doppelt.Parse(inputvaluetwo);", die davon ausgehen könnte darauf zurückzuführen sein, gibt es keine Eingabe gibt. Könnte sich jemand bitte helfen?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SalesProgram
{
class SalesProgram
{
static void Main(string[] args)
{
double sales;
double gross;
double retirement;
double social;
double tax;
string inputvalue;
string inputvaluetwo;
string inputvaluethree;
string inputvaluefour;
string inputvaluefive;
string name;
Console.Write("Enter your name: ");
name = Console.ReadLine();
Console.WriteLine("How much did you sell in dollars? ");
inputvalue = Console.ReadLine();
sales = double.Parse(inputvalue);
Console.ReadKey();
Console.WriteLine("Your gross pay is");
Console.ReadKey();
Console.WriteLine(sales * 0.07);
inputvaluetwo = Console.ReadLine();
gross = double.Parse(inputvaluetwo);
Console.ReadKey();
Console.WriteLine("Your retirement deduction is:");
Console.WriteLine(gross * 0.15);
inputvaluethree = Console.ReadLine();
retirement = double.Parse(inputvaluethree);
Console.ReadKey();
Console.WriteLine("Your tax deduction is:");
Console.WriteLine(gross * 0.18);
inputvaluefour = Console.ReadLine();
tax = double.Parse(inputvaluefour);
Console.ReadKey();
Console.WriteLine("Your social security deduction is:");
Console.WriteLine(gross * 0.09);
inputvaluefive = Console.ReadLine();
social = double.Parse(inputvaluefive);
Console.ReadKey();
Console.WriteLine("Finally, your take-home, or net pay, is:");
Console.WriteLine(gross-retirement-tax-social);
Console.ReadKey();
}
}
}
- verwenden
double.TryParse()
für Sie - Was ist die vlaue der
inputvaluetwo
und was ist IhreCurrentCulture
? Debug-code und sagen Sie uns? - inputvaluetwo soll der Umsatz*um 0,07, die dann umgewandelt wird, zu verdoppeln durch die oben genannten parse-Befehl. Keine Ahnung, was CurrentCulture-Eigenschaft ist nur drei Wochen in den Kurs.
- Können Sie mir bitte sagen, was ist der Wert von
inputvaluetwo
genau dann, wenn Sie den code Debuggen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es bedeutet, es gibt eine falsche string-Wert irgendwo. Verwenden Sie dieses anstatt :
Es bedeutet, dass die eingegebene Zeichenfolge kann nicht konvertiert werden, zu verdoppeln.
Folgende snippet
Diese überladung unterscheidet sich von der Doppel.Parse(String) - Methode, indem ein boolescher Wert zurückgegeben, der angibt, ob der parse-Vorgang erfolgreich war, anstatt der analysierten numerischen Wert. Es entfällt die Notwendigkeit der Verwendung von exception-handling zu testen, für eine FormatException in der Veranstaltung, die Zeichenfolge ist ungültig und kann nicht erfolgreich analysiert werden.
Weitere Informationen können Sie auf folgenden link
https://msdn.microsoft.com/en-us/library/994c0zb1%28v=vs.110%29.aspx