私はC#を初めて使用していますが、このコードは常に0.00を返します。理由はわかりません。誰でも助けてくれますか? これは、コンソールプログラムで、結果はあなたがdenomが大きく、その分子は、例えばある2つの整数の間の数学的な分裂を行っている120.00C#計算では0が返されます
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 'です。 – dasblinkenlight
あなたのすべての部門は、整数演算で行われています... –
整数としてマークされているので、 '8/100 = 0'は' 8.0/100'または '8/100.0'を使用してdouble計算であることを確認します – Icepickle