浮点数是指小数点后有零位或多位数字的数字。例如-2.4、0.1、3.14、16.984025和1024.0。
不同的浮点数类型能存储的小数点后位数不同,这称为它的精度。
C# 有三种浮点数类型:
float:4 字节(约 6-9 位精度)。写作2.45f。double:8 字节(约 15-17 位精度)。这是最常见的类型。写作2.45或2.45d。decimal:16 字节(28-29 位精度)。通常用于处理货币数据,因为它的精度能降低出现舍入误差的可能性。写作2.45m。可以看出,每种类型能存储的位数各不相同。例如,尝试把 PI 存入float时,只会存储前 6 位小数(最后存储的一位会四舍五入)。
while 循环在本练习中,你可能需要使用循环。在 C# 中写循环有好几种方式,但这里while循环最合适:
int x = 23;
while (x > 10)
{
// Execute logic if x > 10
x = x - 2;
}
do/while 循环如果循环中的代码需要至少执行一次,可以使用do/while循环:
int x = 23;
do
{
// Execute body, repeating only if x > 10
x = x - 2;
} while (x > 10);
在这个练习中,你将和储蓄账户打交道。每年,储蓄账户的余额都会根据利率更新。银行给你的利率取决于你账户里的金额(即余额):
1000美元时为 0.5%。1000美元、小于5000美元时为 1.621%。5000美元时为 2.475%。一共有四个任务,每个任务都会涉及余额和利率。
实现(static)SavingsAccount.InterestRate()方法,根据指定的余额计算利率:
SavingsAccount.InterestRate(balance: 200.75m)
// 0.5f
注意,返回的值是float。
实现(static)SavingsAccount.Interest()方法,根据指定的余额计算利息:
SavingsAccount.Interest(balance: 200.75m)
// 1.00375m
注意,返回的值是decimal。
实现(static)SavingsAccount.AnnualBalanceUpdate()方法,计算更新后的年度余额,并考虑利率:
SavingsAccount.AnnualBalanceUpdate(balance: 200.75m)
// 201.75375m
注意,返回的值是decimal。
实现(static)SavingsAccount.YearsBeforeDesiredBalance()方法,在每年复利的情况下,计算达到目标余额所需的最少年数:
SavingsAccount.YearsBeforeDesiredBalance(balance: 200.75m, targetBalance: 214.88m)
// 14
注意,返回的值是int。
把单利作用于本金余额时,用余额乘以利率,两者的乘积就是利息金额。
而复利则是按周期反复计息。 每次计息时,先算出利息金额并加到本金余额上,这样后续的利息计算就会基于更大的本金余额。