我写了这个:
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?
答案 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()将平均多个变量。
编辑:请参阅此问题以获取特定于分部的更详细答案