string input = Console.ReadLine();
decimal sum = Convert.ToDecimal(input);
if (sum >= (decimal)500.01)
{
//40% and 8 dollars off shipping costs are taken off total amount
decimal totalprice;
totalprice = (sum - 8) * .60m;
Math.Truncate(totalprice);
Console.WriteLine("Your final cost is:${0:0.00}", totalprice);
Console.Read();
問題は、価格 598.88 ドルをプログラムに入力すると、354.52 ドルになることです。
数学:
598.88 - 8 = 590.88. 590.88 * 60% = 354.528
354.53
C# は切り上げではなく切り上げを行うため、実際に得られます。例えば、
のような答えが得られたら、その519.998
ままにしておきたいです519.99
。別の例として、930.755
にとどまりたいというような回答が得られた場合930.75
。
私はいくつかの答えを調べましたが、Math.Truncate
明らかにうまくいかず、*100 / 100
トリックを使用してもうまくいきませんでした。私は新入生であることを心に留めておいてください。したがって、答えが初心者に安全であれば、それは素晴らしいことです。ありがとう。