我现在正在提高我的 C# 技能,我坚持使用 SIMPLE MATH 公式,我正在开发一个非常基本的银行系统,该系统可以执行基本的银行功能,如存款现金、取款和显示余额。我遇到的问题是简单的数学公式,我想从提款金额中扣除 5% 的佣金,我知道这行代码行不通。
BankAccount.Comision c = comis => 2 * comis;
这是我的代码:
class BankDetails : IBankDetails
{
ReturnedVal rv = new ReturnedVal();
List<BankAccount> _accounts;
public BankDetails()
{
_accounts = new List<BankAccount>();
}
public List<BankAccount> Account
{
get { return _accounts; }
}
public void CreateAccount(string name)
{
BankAccount account = new BankAccount();
CalculateIBAN calculateIban = new CalculateIBAN();
try
{
if (!String.IsNullOrEmpty(name))
{
account.Name = name;
account.IBAN = calculateIban.IBAN();
_accounts.Add(account);
Console.WriteLine("Account created - Name: {0}, IBAN: {1}", account.Name, account.IBAN);
}
else
{
Console.WriteLine("Account name is null or empty.");
}
}
catch (NullReferenceException ne)
{
Console.WriteLine(ne.StackTrace);
}
}
public float Deposit()
{
string iban = rv.EnterIban();
BankAccount account = rv.GetAccountByName(iban, _accounts);
while (account == null)
{
Console.WriteLine("Account doesn't exist");
iban = rv.EnterIban();
account = rv.GetAccountByName(iban, _accounts);
}
float sum = rv.AmountToDeposit();
while (sum <= 0)
{
Console.WriteLine("Amount cannot be less or equal than 0.");
sum = 0;
sum = rv.AmountToDeposit();
}
account.Sum += sum;
Console.WriteLine("Added {0} to account {1}", sum, iban);
return account.Sum;
}
public float Withdraw()
{
BankDetails details = new BankDetails();
BankAccount.Comision c = comis => 2 * comis;
string iban = rv.EnterIban();
BankAccount account = rv.GetAccountByName(iban, _accounts);
while (account == null)
{
Console.WriteLine("Account doesn't exist");
iban = rv.EnterIban();
account = rv.GetAccountByName(iban, _accounts);
}
float sum = rv.AmountToDeposit();
while (sum <= 0)
{
Console.WriteLine("Amount cannot be less or equal than 0.");
sum = 0;
sum = rv.AmountToDeposit();
}
account.Sum -= sum;
Console.Write("Withdrawn {0} from account {1}.", sum, iban);
Console.WriteLine("Comision {0}", Math.Round(c(account.Sum)));
account.Sum -= c(account.Sum);
Console.WriteLine("Remaining: {0}", Math.Round(account.Sum));
return account.Sum;
}
public float Balance()
{
string iban = rv.EnterIban();
BankAccount account = rv.GetAccountByName(iban, _accounts);
Console.WriteLine("IBAN: {0} has {1} left", iban, account.Sum);
return account.Sum;
}
}
这是我声明委托和属性的类
public class BankAccount
{
public string Name { get; set; }
public string IBAN { get; set; }
public float Sum { get; set; }
public delegate float Comision(float comis);
}
答案 0 :(得分:1)
要获得金额的 5%,您必须计算 (5 * 金额)/100,这与金额 * 0.05f 相同。
在你的情况下
BankAccount.Comision c = amount => amount*0.05f;
答案 1 :(得分:0)
float FivePercent = 金额 * 0.05f;