猿问

C# 将 C# 中的两个小数位四舍五入?

我有十进制数字。我想用两个地方把它们围起来:


Original Value : 6.3619 

What I want    : 6.37


Original Value : 5.12003

What I want    : 5.13

我试过了Math.Celing,Math.Round。但是这些方法并没有给我想要的值。


我不想截断十进制值。


不负相思意
浏览 85回答 3
3回答

互换的青春

尝试天花板方法:放大:_ 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

四季花海

你应该试试这个。 var answer = Math.Ceiling(yourvalue * 100) / 100;如果这有帮助,请将其标记为答案。

开心每一天1111

尝试使用这个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
随时随地看视频慕课网APP
我要回答