计算两个整数平均值的函数

时间:2016-10-21 02:24:51

标签: c#

我写了这个:

    public static decimal Average(int a, int b)
    {
        return (a + b) / 2;
    }

    public static void Main(string[] args)
    {
        Console.WriteLine(Average(2, 1));
        Console.ReadKey();
    }

但它会返回1。但它应该返回1.5 如何修复它返回1.5?

2 个答案:

答案 0 :(得分:6)

在平均功能上缺少类型转换

# Step 1: Initiate all of the page downloads
for i, url in enumerate(urls):
  driver.switch_to.window(driver.window_handles[i])
  # Is it possible to initiate a page get without waiting for onload?
  driver.get_url_async(url)

# Step 2: Wait for the pages to download.
for i, url in enumerate(urls):
  driver.switch_to.window(driver.window_handles[i])
  # This function does not exist, any way to implement something similar?
  driver.wait_for_onload()
  # Do more processing of the page here

答案 1 :(得分:1)

它返回1,因为整数没有小数点,因此答案被截断。例如,如果结果为1.99,则结果为1,例如floor(result)。

如果需要小数点,则需要使用浮点数或将整数转换为浮点数。如果需要更高的精度,可以使用双精度浮点(双精度)。

还有其他需要考虑的因素是有些库会为您完成此任务。例如,List.Average()将平均多个变量。

编辑:请参阅此问题以获取特定于分部的更详细答案

What is the behavior of integer division?