舍入到2位小数但在C#中保留4位小数

时间:2015-05-13 13:10:03

标签: c# decimal rounding

我想将一个数字舍入到2位小数,但也保留尾随的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"));

4 个答案:

答案 0 :(得分:3)

转换为数字类型时,您会放弃所有不必要的数字。您需要在显示之前将Decimal转换为String。

答案 1 :(得分:0)

passenger-config restart-app行返回小数。十进制确实保留所有零,问题是100%在您打印值的位置。 如果您尝试在_invoicingCurrencyProfitAmount = Decimal.Parse(profitAmount.ToString("0.####"))

中撰写此内容
Console

其中 Console.Writeline("{0:F4}", _invoicingCurrencyProfitAmount); 表示“格式为定点”,后面有四个数字。当然,您可以使用{0:F4}

在任何地方使用它

答案 2 :(得分:-1)

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

答案 3 :(得分:-2)

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