Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#数学。全面问题_C#_Rounding - Fatal编程技术网

C#数学。全面问题

C#数学。全面问题,c#,rounding,C#,Rounding,我在C#中对数字进行四舍五入有困难。这是我的密码: public static double GetHighTargetHR (string birthdate, string examDate) { double HighTargetHR = 0; double age; double constant = 220; age = CalculateAge(birthdate, examDate); if (age > 0) { HighTargetHR

我在C#中对数字进行四舍五入有困难。这是我的密码:

public static double GetHighTargetHR (string birthdate, string examDate)
{
  double HighTargetHR = 0;
  double age;
  double constant = 220;

  age = CalculateAge(birthdate, examDate);

  if (age > 0)
  {
    HighTargetHR = ((constant - age) * 0.8);
    Math.Round(HighTargetHR, 0, MidpointRounding.AwayFromZero);
  }

  return HighTargetHR;
}
这个病人的年龄是26岁。所以220-26=194*0.8=155.20


我希望代码返回155。无论我对Math.Round函数做了什么更改,它都返回155.20。如何使其返回偶数?

您必须影响数学结果。四舍五入到变量。否则,它将被简单地丢弃

 HighTargetHR = Math.Round(HighTargetHR, ...);

您需要指定正在使用的函数的结果(
Math.Round
):


函数返回一个值;因此,当您使用某个函数时,必须将其返回值赋给一个变量。

您无法使用round函数的返回类型

HighTargetHR = Math.Round(HighTargetHR, 0, MidpointRounding.AwayFromZero);

Math.Round()
返回舍入值。您忽略了返回值。正如Pac0和CodeCaster所提到的,您没有返回舍入调用的结果,只是将其丢弃。
Int
s是值类型。它们不是通过引用(像引用类型)传递到方法中的,因此不能被操作。因此,该方法返回一个值。请参阅@Liam引用类型或值类型不通过引用传递,除非指定了我们的
out
HighTargetHR = Math.Round(HighTargetHR, 0, MidpointRounding.AwayFromZero);