为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
不负相思意 2022-10-15 14:28:42
我有十进制数字。我想用两个地方把它们围起来:Original Value : 6.3619 What I want    : 6.37Original Value : 5.12003What I want    : 5.13我试过了Math.Celing,Math.Round。但是这些方法并没有给我想要的值。我不想截断十进制值。
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

尝试天花板方法:

  1. 放大:_ value _6.3619 -> 636.19

  2. 在以下帮助下截断Math.Ceiling636.19 -> 637

  3. 最后缩小结果: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


查看完整回答
反对 回复 2022-10-15
?
四季花海

TA贡献1811条经验 获得超5个赞

你应该试试这个。

 var answer = Math.Ceiling(yourvalue * 100) / 100;

如果这有帮助,请将其标记为答案。


查看完整回答
反对 回复 2022-10-15
?
开心每一天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


查看完整回答
反对 回复 2022-10-15
  • 3 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信