我是C#的新手,这段代码总是返回0.00,我不知道原因。有人能帮忙吗?这是一个控制台程序,可能的输入为:
sofia
1500
结果应为120.00。
using System;
namespace TradeComissions
{
class TradeComissions
{
static void Main(string[] args)
{
var town = Console.ReadLine().ToLower();
var amount = double.Parse(Console.ReadLine());
double result = 0.0;
if(town == "sofia")
{
if (amount >= 0 && amount <= 500)
{
result = amount * (5 / 100);
}
else if (amount >= 500 && amount <= 1000)
{
result = amount * (7 / 100);
}
else if (amount >= 1000 && amount <= 10000)
{
result = amount * (8 / 100);
}
else if (amount > 10000)
{
result = amount * (12 / 100);
}
}
Console.WriteLine("{0:f2}", result);
}
}
}
(5/100)
等于零,(5.0/100)
等于0.05
。 - Sergey Kalinichenko8 / 100 = 0
因为它们被标记为整数,使用8.0 / 100
或8 / 100.0
确保进行双精度计算。 - Icepickle