Tag: rounding

如何舍入双值但保持尾随零

在C#中,我想要一个将给定的double舍入到给定的小数位数的函数。 我总是希望我的函数返回一个给定小数位数的值(可以是一个字符串)。 如有必要,需要添加尾随零。 例: string result = MyRoundingFunction(1.01234567, 3); // this must return “1.012” 这很容易,它只是四舍五入并转换为字符串。 但问题出现了: string result2 = MyRoundingFuntion(1.01, 3); // this must return “1.010” 有没有方便/标准的方法来做到这一点,还是我手动需要添加尾随零? 任何帮助表示赞赏。 请注意,在现实生活中,我不能硬编码小数。

如何将.Net中的System.Decimal舍入到一些重要数字中

我有一个System.Decimal数字 0.00123456789 我希望得到3位重要数字。 我预计 0.00123 行为是舍入行为而不是截断。 在.Net中是否有防弹方法可以做到这一点?

为什么Convert.ToInt32()舍入到最接近的偶数,而不是最接近的整数?

查看Convert.ToInt32()的msdn文档,它指出: 如果值在两个整数之间,则返回偶数; 也就是说,4.5转换为4,5.5转换为6。 http://msdn.microsoft.com/en-us/library/ffdk7eyz.aspx 为什么是这样? 当然,舍入到最接近的整数更合乎逻辑,不是吗? 如果是这样,4.5将变为5,而5.5将变为6,这似乎更直观。

为什么返回C#Convert.ToDouble(5/100)0.0而不是0.05

double variable = Convert.ToDouble(5/100); 将返回0.0但我预计0.05 什么可以/必须改变得到0.05 因为这个例子中的5是一个变量