📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "数制转换"
ClientHeight = 3570
ClientLeft = 60
ClientTop = 450
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3570
ScaleWidth = 4680
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton Command2
Caption = "退 出"
Height = 495
Left = 3120
TabIndex = 12
Top = 2880
Width = 1335
End
Begin VB.CommandButton Command1
Caption = "转 换"
Height = 495
Left = 480
TabIndex = 11
Top = 2880
Width = 1335
End
Begin VB.TextBox Text4
Alignment = 2 'Center
BeginProperty Font
Name = "Arial"
Size = 9.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 3000
TabIndex = 8
Top = 1560
Width = 1455
End
Begin VB.TextBox Text3
Alignment = 2 'Center
BeginProperty Font
Name = "Arial"
Size = 9.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 240
TabIndex = 7
Top = 1560
Width = 2415
End
Begin VB.TextBox Text2
Alignment = 2 'Center
BeginProperty Font
Name = "Arial"
Size = 9.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 3480
TabIndex = 4
Top = 600
Width = 735
End
Begin VB.TextBox Text1
Alignment = 2 'Center
BeginProperty Font
Name = "Arial"
Size = 9.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 1200
TabIndex = 3
Top = 600
Width = 735
End
Begin VB.Label Label7
Alignment = 2 'Center
BorderStyle = 1 'Fixed Single
BeginProperty Font
Name = "Arial"
Size = 9.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 240
TabIndex = 10
Top = 2400
Width = 4215
End
Begin VB.Label Label6
Caption = "M进制数"
BeginProperty Font
Name = "Arial"
Size = 9.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 2040
TabIndex = 9
Top = 2040
Width = 975
End
Begin VB.Label Label5
Alignment = 1 'Right Justify
Caption = "."
BeginProperty Font
Name = "宋体"
Size = 20.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 2760
TabIndex = 6
Top = 1560
Width = 255
End
Begin VB.Label Label4
Caption = "N进制数"
BeginProperty Font
Name = "Arial"
Size = 9.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 2040
TabIndex = 5
Top = 1200
Width = 975
End
Begin VB.Label Label3
Caption = "M进制:"
BeginProperty Font
Name = "宋体"
Size = 11.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 2640
TabIndex = 2
Top = 720
Width = 855
End
Begin VB.Label Label2
Caption = "N进制:"
BeginProperty Font
Name = "宋体"
Size = 11.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00FF0000&
Height = 375
Left = 360
TabIndex = 1
Top = 720
Width = 855
End
Begin VB.Label Label1
Caption = "数制转换(N进制数转换为M进制数)"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 375
Left = 360
TabIndex = 0
Top = 120
Width = 4095
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Dim N, M, Q, L, K, I As Integer, S As Double
Dim N1$, M1$, N2$, M2$, M12$
N = Val(Text1.Text)
M = Val(Text2.Text)
Label7.Caption = ""
Rem 将N进制数整数部分N1$转换为10进制数S
N1$ = Text3.Text 'N进制数的整数部分N1$
S = 0: Q = 0: K = 1 'S存储10进制数,Q存储么一位数,K存储位数
L = Len(N1$) 'L存储N1$的长度
For I = L To 1 Step -1
Q = Asc(Mid$(N1$, I, 1)) - 48 '将N1$的一位数字转换为相应的数值
If Q > 9 Then Q = Q - 7 '当数值Q>9时,进行数值调整
S = S + K * Q: K = K * N '转换为10进制数
Next I
Rem 将10进制数S转换为M进制数整数部分M1$
While S > 0 '当商为0时,完成10进制数转换为M进制数
Q = S - Int(S / M) * M '除以M取余数
If Q > 9 Then Q = Q + 7 '当数值Q>9时,进行数值调整
Q = Q + 48 '将数值Q进行数值调整,获得相应的ASCII码
M1$ = Chr(Q) + M1$ '连接M进制数M1$
S = Int(S / M) '求商
Wend
M12$ = M1$ 'M进制数的整数部分M1$赋值给M进制数M12$
Rem 将N进制数小数部分N2$转换为10进制数S
S = 0: Q = 0: K = 1 'S存储10进制数,Q存储么一位数,K存储位数
N2$ = Text4.Text 'N进制数的小数部分N2$
L = Len(N2$) 'L存储N2$的长度
For I = 1 To L
Q = Asc(Mid$(N2$, I, 1)) - 48 '将N1$的一位数字转换为相应的数值
If Q > 9 Then Q = Q - 7 '当数值Q>9时,进行数值调整
K = K * N: S = S + Q / K '转换为10进制数
Next I
Rem 将10进制小数S转换为M进制数小数部分M2$
K = 1 '变量K用来控制M进制数的小数位数
While K <= 12 '当商为0时,完成10进制数转换为M进制数
Q = Int(S * M) '乘以M取整数
If Q > 9 Then Q = Q + 7 '当数值Q>9时,进行数值调整
Q = Q + 48 '将数值Q进行数值调整,获得相应的ASCII码
M2$ = M2$ + Chr(Q) '连接M进制数M1$
S = S * M - Int(S * M) '求S * M的余数
K = K + 1 '变量K自动加1
Wend
M12$ = M1$ + "." + M2$ 'M进制数的整数和小数部分连接后赋值给M进制数M12$
Label7.Caption = M12$ 'M进制数数M12$赋给标签Label7
End Sub
Private Sub Command2_Click()
End
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -