學習軌道
/
C#
C#
/
練習
/
利息真有趣
利息真有趣

利息真有趣

學習練習

簡介

浮點數

浮點數是帶有小數點後零或多個位數的數字。例如-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);

說明

在這個練習中,你會操作儲蓄帳戶。你的儲蓄帳戶餘額每年都會根據利率更新。銀行給你的利率取決於你帳戶裡的金額(也就是餘額):

  • 餘額為負時為 3.213%(餘額會變得更負)。
  • 餘額為正且低於1000美元時為 0.5%。
  • 餘額為正、大於等於1000美元且低於5000美元時為 1.621%。
  • 餘額為正且大於等於5000美元時為 2.475%。

你有四個任務,每個任務都會處理你的餘額和它的利率。

1. 計算利率

實作(static)SavingsAccount.InterestRate()方法,根據指定的餘額計算利率:

SavingsAccount.InterestRate(balance: 200.75m)
// 0.5f

請注意,回傳的值是float。

2. 計算利息

實作(static)SavingsAccount.Interest()方法,根據指定的餘額計算利息:

SavingsAccount.Interest(balance: 200.75m)
// 1.00375m

請注意,回傳的值是decimal。

3. 計算年度餘額更新

實作(static)SavingsAccount.AnnualBalanceUpdate()方法,計算更新後的年度餘額,並將利率納入考量:

SavingsAccount.AnnualBalanceUpdate(balance: 200.75m)
// 201.75375m

請注意,回傳的值是decimal。

4. 計算達到目標餘額所需的年數

實作(static)SavingsAccount.YearsBeforeDesiredBalance()方法,在每年複利的情況下,計算達到目標餘額所需的最少年數:

SavingsAccount.YearsBeforeDesiredBalance(balance: 200.75m, targetBalance: 214.88m)
// 14

請注意,回傳的值是int。

Note

對本金套用單利時,會將餘額乘上利率,兩者相乘的乘積就是利息金額。

另一方面,複利則是定期套用利息。 每次套用時,都會計算出利息金額並加到本金上,讓後續的利息計算以更大的本金為基礎。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
C# Exercism

準備好開始 利息真有趣 了嗎?

註冊 Exercism,透過 62 個概念178 個練習 和真人引導來學習並精通 C#,全部免費。