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。截斷在C#
數學運算:
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
技巧也無法正常工作。請記住,我是一名新生,因此,如果答案可能是安全的,那就太好了。謝謝。
'Math.Floor()'.. – zerkms
像zerkms說使用Math.Floor() ,還可以使用Decimal.TryParse來確保輸入正確。 – user1534664
'Math.Truncate()'顯然不適合你,因爲它對它的參數沒有任何作用,它返回結果。 – svick