2016-06-21 7 views
0

Ich beginne zu versuchen, Code zu lernen, mit Visual Studio und einem C# -Buch. Es geht nicht darum, wie man einen doppelten zu einem Dollar-Betrag ändert. Folgendes ist das Programm, das ich bisher habe (eine Aufgabe). Wie kann ich entweder das Format meiner Ausgabe ändern (OHNE addieren mit system.globalization;) Oder es so machen, dass die Ausgabe immer 1,1 als 1,10 und 1,5678 als 1,57 lesen wird. Zum Beispiel, wenn ich sagen würde, dass ich 39 Stunden um 10.50 eine Stunde arbeite.Wie kann ich einfach einen Dollarbetrag ausgeben?

{ 
     //Declare all variables: 
     double Hours; 
     double Rate; 
     double GrossPay; 
     double FederalTax; 
     double StateTax; 
     double SocialSecurity; 
     double NetPay; 
     double TotalTax; 

     //Introduction: 
     Console.WriteLine("Welcome to the Pay Calculator!!!"); 

     //User input of hours: 
     Console.WriteLine("Please enter the hours you worked this pay period: "); 
     Hours = Convert.ToDouble(Console.ReadLine()); 

     //User input for rate: 
     Console.WriteLine("Please enter your rate of pay: "); 
     Rate = Convert.ToDouble(Console.ReadLine()); 

     //Calculations 
     GrossPay = Hours * Rate; 
     FederalTax = GrossPay * 0.20d; 
     StateTax = GrossPay * 0.05d; 
     SocialSecurity = GrossPay * 0.062d; 
     NetPay = GrossPay - FederalTax - StateTax - SocialSecurity; 
     TotalTax = FederalTax + StateTax + SocialSecurity; 

     //OutPut 
     Console.WriteLine($"Your gross pay is: ${GrossPay}"); 
     Console.WriteLine($"Your federal tax obligation is: ${FederalTax}"); 
     Console.WriteLine($"Your state tax obligation is: ${StateTax}"); 
     Console.WriteLine($"Your social security obligation is: ${SocialSecurity}"); 
     Console.WriteLine($"Your total tax obligation is: $ {TotalTax}"); 
     Console.WriteLine($"This will bring your total net pay to: ${NetPay}"); 

     Console.ReadKey(); 
    } 
+0

Sie sagen, "dezimal" erklärte aber ein "schwimmen" können Sie klären, was Sie wirklich hier bedeuten? Sie wissen, dass es einen anderen Typ namens "Dezimal" gibt, richtig? –

+0

Es sollte abdecken, wie man eine Dezimalzahl formatiert, der Rest ist nur das Dollarzeichen vorne hinzufügen. Wahrscheinlich würde es $ '0,00' als Formatzeichenfolge verwenden. –

+1

Wenn Sie mit Währung arbeiten möchten, wäre es besser, zu Beginn mit "Dezimal" anstatt "Float" zu beginnen. –

Antwort

2

sollten Sie ToString("C") verwenden, wenn Sie als Währungswert formatiert werden soll. Zuerst fügen Sie die folgende Zeile in der Verwendung von Aussagen:

using System.Globalization; 

Dann:

Console.WriteLine(FavoriteNumber.ToString("C", CultureInfo.GetCultureInfo("en-US"))); 

Ergebnis:

$11.88 
0

es ist so einfach nur string.format Funktion verwenden, um eine Gewohnheit zu geben Format zu Zeichenkette

Beispiel:

decimal[] amounts = { 16305.32m, 18794.16m }; 

Console.WriteLine(" Beginning Balance   Ending Balance"); 

Console.WriteLine(" {0,-28:C2}{1,14:C2}", amounts[0], amounts[1]); 

Dieser Code wird diese Ausgabe angezeigt werden:

// Displays: 

//  Beginning Balance   Ending Balance 

//  $16,305.32      $18,794.16