2016-06-21 82 views
0

我開始嘗試學習代碼,使用visual studio和c#書。它並沒有討論如何將雙倍變爲美元。 以下是我到目前爲止的計劃(作業)。我怎樣才能改變我輸出的格式(不添加使用system.globalization;)或者使輸出總是將1.1讀作1.10美元,1.5678讀取1.57美元。例如,如果我要把我的工作時間爲每小時10點50分鐘工作39小時。我如何簡單輸出美元金額?

{ 
     //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

你說 「小數」,但宣稱 「浮動」,你能澄清你真正的意思是在這裏嗎?你知道有一個不同的類型,稱爲「小數」嗎? –

+0

它應該涵蓋如何格式化一個十進制數字,其餘的只是在前面添加美元符號。可能使用''''0.00'作爲格式字符串就可以了。 –

+1

如果你想使用貨幣,最好使用'decimal'而不是'float'來開始。 –

回答

2

如果要格式化爲貨幣值,您應該使用ToString("C")。首先,下面一行添加到您的using語句:

using System.Globalization; 

然後:

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

結果:

$11.88 
0

它是如此簡單 只需使用的String.Format功能給一個自定義格式爲字符串

例如:

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

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

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

這個代碼將顯示此輸出:

// Displays: 

//  Beginning Balance   Ending Balance 

//  $16,305.32      $18,794.16