簡體   English   中英

四舍五入到2位小數,但在C#中保留4位小數

[英]Rounding to 2 decimal places but keeping 4 decimal places in C#

我想將數字四舍五入到小數點后兩位,但還要保留尾隨的2個零,因此例如425.1382至425.1400我已經嘗試了以下示例,但它似乎不起作用

var amount = Math.Round((value * rate), 4);
profit = Decimal.Parse(amount.ToString("0.####"));

要么

var amount = Math.Round((value * rate), 4);
profit = Decimal.Parse(amount.ToString("0.##00"));

轉換為數字類型時,您將放棄所有不必要的數字。 在顯示之前,需要將小數轉換為字符串。

_invoicingCurrencyProfitAmount = Decimal.Parse(profitAmount.ToString("0.####"))行返回一個十進制。 十進制確實保留所有零,問題是在哪里打印值的100%。 如果您嘗試在Console編寫此內容

 Console.Writeline("{0:F4}", _invoicingCurrencyProfitAmount);

其中{0:F4}表示“格式為定點格式”,點后有四個數字。 當然,您可以通過使用string.Format在任何地方使用它。

var _profitAmount = Math.Round((saleMarginValue * exchangeRate),4); _invoicingCurrencyProfitAmount = Decimal.Parse(profitAmount.ToString()。PadRight(2,'0'));

var d = 425.1382.ToString("0.##") + "00"; // "425.1400"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM