我有十进制数字。我想用两个地方把它们围起来:Original Value : 6.3619 What I want : 6.37Original Value : 5.12003What I want : 5.13我试过了Math.Celing,Math.Round。但是这些方法并没有给我想要的值。我不想截断十进制值。
3 回答
互换的青春
TA贡献1797条经验 获得超6个赞
尝试天花板方法:
放大:_
value
_6.3619 -> 636.19
在以下帮助下截断
Math.Ceiling
:636.19 -> 637
最后,缩小结果:
637 -> 6.37
代码:
var result = Math.Ceiling(value * 100.0) / 100.0;
演示:
double[] tests = new double[] {
6.3619,
5.12003,
};
string report = string.Join(Environment.NewLine, tests
.Select(test => $"{test,10} -> {Math.Ceiling(test * 100) / 100.0}"));
Console.Write(report);
结果:
6.3619 -> 6.37
5.12003 -> 5.13
开心每一天1111
TA贡献1836条经验 获得超13个赞
尝试使用这个
private double RoundValueUp(double value, int NbDecimals)
{
double multiplier = Math.Pow(10, Convert.ToDouble(NbDecimals));
return Math.Ceiling(value * multiplier) / multiplier;
}
因此,您可以像这样使用它RoundValueUp(6.3619, 2); 参考LINK
- 3 回答
- 0 关注
- 84 浏览
添加回答
举报
0/150
提交
取消