我有十进制数字。我想用两个地方将它们取整:
SAPSQL_DATA_LOSS
我尝试了Original Value : 6.3619
What I want : 6.37
Original Value : 5.12003
What I want : 5.13
,Math.Celing
。但是这些方法没有给我想要的值。
我不想截断十进制值。
答案 0 :(得分:3)
尝试Ceiling方法:
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
答案 1 :(得分:0)
此问题已解决:https://stackoverflow.com/questions/7075201/rounding-up-to-2-decimal-places-in-c-sharp
希望这就是您要搜索的
答案 2 :(得分:0)
您应该尝试这个。
var answer = Math.Ceiling(yourvalue * 100) / 100;
如果有帮助,请标记为答案。
答案 3 :(得分:0)
尝试使用
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