---
# System prepended metadata

title: 課堂作業 4-1：請增加百分比按鍵與倒退按鍵
tags: [110-2視窗程式設計]

---

---
tags: 110-2視窗程式設計
---

# 課堂作業 4-1：請增加百分比按鍵與倒退按鍵

同學你應該大略知道基本的計算機程式如何設計，請在依照下方的畫面，設計百分比按鍵與倒退按鍵的功能。

![](https://i.imgur.com/FIX9Z4P.png)

## 範例程式

[範例程式](https://drive.google.com/file/d/1FbWqlgAeKVZv3uai2AbThTZjIydn_eny/view?usp=sharing)

## 提示 1：百分比按鍵

百分比按鍵概念和等於按鍵類似，不過你要將它格式化成為「%」的樣子，以下是你可以使用的字串格式化語法，想想看，你該參考原有程式哪一段？修改成為可以顯示百分比的樣式？

```csharp
string.Format("{0:P2}", finalResults);
```

如果你成功修改出來，你應該會覺得有重複的程式碼，那你覺得，又可以怎麼設計讓程式碼更精簡？

## 提示 2：倒退按鍵

倒退的按鍵看起來簡單，但實際上有點麻煩。

先建立一個基本概念，給你一個字串：「abcdef」，那麼每一個字母的位置值應該是多少？

答案很簡單：「012345」，不是「123456」喔！因為程式的順序都是從「0」開始計算的，要建立這個基本認知。

現在給你一個字串剪取的函式，叫做「Substring」，這個方法語法是這樣：

```csharp
字串變數.Substring(Int32, Int32)
//從一個字串中擷取特定範圍的字串。起始於指定的位置，並且擷取所設定的長度。
```

你可以想，假設你已經輸入「45322」這個數字，他的長度是 5，要取得「4532」，你應該輸入起點值應該是多少？又要取多少長度呢？答案很簡單：

```csharp
string number = "45322"; // 如果有一個字串變數是45322
number.Substring(0, 4);
```

所以，要做倒退按鍵的功能應該不難，只要能夠「取得數字長度再減一」，就能用「Substring」來得到。

那麼又要怎麼取得字串長度呢？你只需要用「Length」就可以：

```csharp
txtNumber.Text.Length // 輸入文字框
```

接下來就換你了，你可以想想看，要怎麼處理這個倒退按鍵的事件處理呢？不要忘記，如果倒退到最後，應該要能夠顯示「0」，這又要怎麼做呢？