VB計算的小數點

Private Sub Command1_Click()

S= Text1

Dim i As Integer

For i = 1 To 10

S = S - 0.1

Label1.Caption = Label1.Caption & S & vbCrLf

Next i

End Sub

假如我S輸入為 10

Label 會顯示

9.9

9.8

9.7

依此類推到

9

但是我想要讓9 的顯示是 9.0

那要如何做呢!?

感恩感恩

已更新項目:

我把你說的丟進去後

Private Sub Command1_Click()

S = Text1

Dim i As Integer

For i = 1 To 10

S = S - 0.1

If Fix(S) = S Then

Label1.Caption = Label1.Caption & S & ".0" & vbCrLf

Else

Label1.Caption = Label1.Caption & S & vbCrLf

End If

Next i

End Sub

一樣沒有顯示9.0耶 還是9

2 個已更新項目:

感謝s3748***

但是我有個疑問

Format(s, "0.0")

這裡一定要這樣寫嗎!?

假如我S是3.3333333

這樣的話

那 不就要弄成 Format(s, "0.00000000")

有可以讓他自動都顯示0的方法嗎!?

因為如果好幾個算式都不同長度

表單上顯示就不整齊

還是 我要先設定小數點後面到第幾位 Round

再套入這個方法!?

有最直接的方法嗎!?

感恩感恩

2 個解答

評分
  • 1 0 年前
    最佳解答

    Option Explicit

    Private Sub Command1_Click()

      Dim s As Double

      s = Val(Text1.Text)

      Dim i As Integer

      For i = 1 To 10

        s = s - 0.1

        Label1.Caption = Label1.Caption & Format(s, "0.0") & vbCrLf

      Next

    End Sub

    2010-08-08 10:06:40 補充:

    >>Format(s, "0.0")

    >這裡一定要這樣寫嗎!?

    No

    >假如我S是3.3333333,這樣的話有可以讓他自動都顯示0的方法嗎!?

    Format(3.3333333, "0.00000000") = "3.3333333"

    老實說我不懂你在問什麼...建議到http://vb.ncis.com.tw/ 這個網站裡找函數參考表吧。

    >我要先設定小數點後面到第幾位 Round再套入這個方法!?有最直接的方法嗎!?

    沒有。 PS: 方法是人想出來的,是可以自己打造一套的。

    參考資料: http://vb.ncis.com.tw/
  • 1 0 年前

    我是會把 "Label1.Caption = Label1.Caption & S & vbCrLf" 這個地方改成:

    (VB6)

    if fix(S) = S then

    Label1.Caption = Label1.Caption & S & ".0" & vbCrLf

    else

    Label1.Caption = Label1.Caption & S & vbCrLf

    end if

    參考資料: 自己
還有問題?馬上發問,尋求解答。