如何对输出的小数点进行四舍五入?
使用 C#,我想将小数格式化为仅显示两个小数位,然后我将采用该小数并将其减去另一个小数。 我希望能够做到这一点,而不必先将其转换为字符串进行格式化,然后将其转换回十进制。 很抱歉我忘记指定这一点,但我不想四舍五入,我只想去掉最后一个小数点。 有没有办法做到这一点?
Using C#, I want to format a decimal to only display two decimal places and then I will take that decimal and subtract it to another decimal. I would like to be able to do this without having to turn it into a string first to format and then convert it back to a decimal. I'm sorry I forget to specify this but I don't want to round, I just want to chop off the last decimal point. Is there a way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果不想对小数点进行四舍五入,可以使用 Decimal.Truncate。 不幸的是,它只能截断所有小数。 为了解决这个问题,您可以乘以 100,截断并除以 100,如下所示:
如果您执行的次数足够多,您可以创建一个扩展方法
If you don't want to round the decimal, you can use Decimal.Truncate. Unfortunately, it can only truncate ALL of the decimals. To solve this, you could multiply by 100, truncate and divide by 100, like this:
And you could create an extension method if you are doing it enough times
您可以使用:
Math.Round(number,2);
将数字四舍五入到小数点后两位。有关示例,请参阅Math.Round 的此特定重载。
You can use:
Math.Round(number,2);
to round a number to two decimal places.See this specific overload of Math.Round for examples.
Math.Round 方法(十进制、Int32)
Math.Round Method (Decimal, Int32)
您不想格式化它,而是对其进行四舍五入。 尝试 Math.Round 函数。
You don't want to format it then, but to round it. Try the Math.Round function.
看看 Math.Round
Take a look at Math.Round