簡體   English   中英

十進制舍入

[英]Decimal Rounding

我有一個項目,我需要按以下方式四舍五入一個小數:

如果數字在 12.01 到 12.49 之間,那么它應該四舍五入到 12.00

如果數字在 12.50 和 12.99 之間,則應四舍五入為 13.00

我嘗試過函數 Math.Abs​​ 和 Math.Round,但無法達到上述要求的確切結果。

雅各布是正確的 Math.Round 完美地完成了這項工作。 打開一個新項目 (Winforms) 並添加一個文本框、按鈕和標簽。 將此代碼放在按鈕單擊事件后面。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
   Label1.Text = Math.Round(CDec(TextBox1.Text))
End Sub

在文本框中輸入 12.01 到 12.49,它會被四舍五入到 12 從 12.51 到 13.49 的任何東西都會被四舍五入到 13

以下代碼似乎對我有用,它四舍五入到最接近的整數。 例如,對於數字12.5它會四舍五入為 13。此外,您可以更改代碼中的0以更改您想要四舍五入的小數位數。

Dim a As Double = `your number`
Dim rounded As Double = Math.Round(a, 0, MidpointRounding.AwayFromZero)

正如班夫指出的那樣,將附加參數添加到 Math.Round 函數中

Private Sub Button1_Click(sender As Object, e As EventArgs) 處理 Button1.Click Label1.Text = Math.Round(CDec(TextBox1.Text), 0, MidpointRounding.AwayFromZero) End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM