Dim v As Boolean
Dim s As Integer
Dim x As Double
Dim y As Double
Private Sub Command1_Click(Index As Integer)
If Form1.Tag = "s" Then
If Index = 10 Then
Text1.Text = "0."
Else
Text1.Text = Command1(Index).Caption
End If
Form1.Tag = ""
Else
Text1.Text = Text1.Text & Command1(Index).Caption
End If
End Sub
Private Sub Command2_Click(Index As Integer)
Form1.Tag = "s"
If v Then
x = Val(Text1.Text)
v = Not v
Else
y = Val(Text1.Text)
Select Case s
Case 0
Text1.Text = x + y
Case 1
Text1.Text = x - y
Case 2
Text1.Text = x * y
Case 3
If y <> 0 Then
Text1.Text = x / y
Else
MsgBox ("不能以0為除數")
Text1.Text = x
v = False
End If
Case 4
y = 0
v = False
End Select
x = Val(Text1.Text)
End If
s = Index
End Sub
uj5u.com熱心網友回復:
我直接點擊小數點時,顯示不出首位0還有就是一直點擊小數點會一直出現小數點
uj5u.com熱心網友回復:
1、要想顯示前置0,可以這樣:Text1.Text = Format(x, "0.00"),這里假設有2位小數點2、第2個問題就需要你自己設計和判斷了
uj5u.com熱心網友回復:
按小數點時,先判斷有沒有小數點,有,忽略點擊。再判斷有沒有數字,有,直接加點,沒有加0.
uj5u.com熱心網友回復:
不同數值對應不同格式 (Format 函式)
用戶自定義數值格式運算式可以有一至四個區段,各區段間以分號隔開。但如果 format 函式的引數含有命名數值格式,則只能有一個區段。
如果使用 其結果為
只有一個區段 格式運算式應用到所有值。
兩個區段 第一個區段應用到正值或零,第二個區段應用到負值。
三個區段 第一個區段應用到正值,第二個區段應用到負值,第三個區段應用到零。
四個區段 第一個區段應用到正值,第二個區段應用到負值,第三個區段應用到零,第四個區段應用到 Null 值。
下面的例子有兩個區段:第一個區段定義正值和零的格式;第二個區段定義負值。
"$#,##0;($#,##0)"
如果分號之間沒有格式,那么遺漏的區段將以正值的格式來表示。例如,下面的格式以第一個區段顯示正值及負值,而如果值為零時,則顯示 "Zero"。
"$#,##0;;\Z\e\r\o"
用戶自定義數值格式 (Format 函式)
下面表格標識了一些可用來創建用戶自定義數值格式的字符:
字符 說明
無 顯示沒有格式的數值。
(0) 數字占位符。顯示一位數字或是零。如果運算式在格式字串中 0 的位置上有一位數字存在,那么就顯示出來;否則,就以零顯示。如果數值的位數少于格式運算式中零的位數(無論是小數點的左方或右方),那么就把前面或后面的零補足。如果數值的小數點右方位數多于格式運算式中小數點右面零的位數,那么就四舍五入到有零的位數的最后一位。如果數值的小數點左方位數多于格式運算式中小數點左面零的位數,那么多出的部分都要不加修飾地顯示出來。
(#) 數字占位符。顯示一位數字或什么都不顯示。如果運算式在格式字串中“#”的位置上有數字存在,那么就顯示出來;否則,該位置就什么都不顯示。
此符號的作業原理和“0”數字占位符大致相同,不同之處只有在當運算式中數值的位數少于“#”的位數(無論是小數點左方或右方)時,不會把前面或后面的零顯示出來。
(.) 小數點占位符。在一些國別是用逗號來當小數點的。小數點占位符用來決定在小數點左右可顯示多少位數。如果格式運算式在此符號左邊只有正負號,那么小于 1 的數字將以小數點為開頭。如想在小數前有“0”的話,那么請在小數點占位符前加上“0”這個數字占位符。小數點占位符的實際字符在格式輸出時要看系統的數字格式而定。
(%) 百分比符號占位符。運算式乘以 100。而百分比字符 (%) 會插入到格式字串中出現的位置上。
(,) 千分位符號占位符。在一些國別,是用句點來當千位符號。千位符號主要是把數值小數點左邊超過四位數以上分出千位。如果格式中在數字占位符(0 或 #)周圍包含有千分位符號,則指定的是標準的千分位符號使用法。兩個鄰近的千分位符號或一個千分位符號緊接在小數點左邊(不管小數位是否指定),其意思為“將數值除以 1000,按需要四舍五入”。例如,可以用格式字串 "##0,," 將 1 億表示成 100。數值小于 1 百萬的話表示成“0”,兩個鄰近的千分位符號除了緊接在小數點左邊以外,在任何位置出現時均簡單地視為指定了使用千分位符號。小數點占位符的真正字符在格式輸出時,需視系統識別的數字格式而定。
(:) 時間分隔符。在一些國別,可能用其他符號來當時間分隔符。在格式化時間值時,時間分隔符可以用來分隔時、分和秒。時間分隔符的真正字符在格式輸出時,取決于系統的設定。
(/) 日期分隔符。在一些國別,可能用其他符號來當日期分隔符。在格式化日期數值時,日期分隔符可以用來分隔年、月、日。日期分隔符的真正字符在格式輸出時,取決于系統設定。
(E- E+ e- e+) 科學格式。如果格式運算式在 E-、E+、e- 或 e+ 的右方含有至少一個數字占位符(0 或 #),那么數值將表示成科學格式,而 E 或 e 會被安置在數字和指數之間。E 或 e 右方數字占位符的個數取決于指數位數。使用 E- 或 e- 時,會用減號來表示負的乘冪。使用 E+ 或 e+ 時,會用減號來表示負的乘冪并用加號來表示正的乘冪。
- + $ ( ) 顯示一個原義字符。如想顯示那些列出的字符之外的字符時,可以用反斜杠 ( \ ) 字符作前綴或以雙引號 (" ") 括起來。
(\) 將格式字串中下一個字符顯示出來。如想顯示一作為原義字符并有特殊含義的字符,可將此字符置于反斜杠 (\) 之后。反斜杠本身并不會顯示出來。而使用反斜杠 (\) 的效果和使用雙引號是一樣的。如想顯示反斜杠字符,可使用兩個反斜杠 (\\)。
那些不能顯示為原義字符的字符是日期格式字符和時間格式字符(a, c, d, h, m, n, p, q, s, t, w, y, / 和 :)、數值格式字符(#, 0, %, E, e, 逗點和句點)和字串格式字符(@, &, <, > 和 !)。
("ABC") 顯示雙引號 (" ") 之內的字串。如在代碼中想在 format 中包含一個字串,必須用 Chr(34) 將文本括起來(34 為雙引號 (") 的字符代碼)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/93849.html
標籤:VB基礎類
上一篇:VB中怎么根據前兩個文本框的資訊得出第三個文本框的值,第三個文本框做成下拉選單
下一篇:VBS腳本
