数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 7169|回复: 2

[讨论]大的正整数和0的比较大小的程序

[复制链接]
发表于 2012-5-27 12:01 | 显示全部楼层 |阅读模式
[这个贴子最后由ysr在 2012/09/07 01:45pm 第 4 次编辑]

Private Sub Command1_Click()
Text3.Text = MBJC(Text1.Text, Text2.Text)
End Sub
Public Function MBJC(D1 As String, D2 As String) As String ';bijiao
If Len(D1) > Len(D2) Then
MBJC = 1
Else
If Len(D1) < Len(D2) Then
MBJC = -1
Else
If Len(D1) = Len(D2) Then
Dim X, Y
X = Len(D1) \ 4: Y = Len(D2) \ 4
Dim A() As String, B() As String
ReDim A(4 To 4 * X + 4)
ReDim B(4 To 4 * Y + 4)
If Val(Left(D1, Len(D1) - 4 * X)) > Val(Left(D2, Len(D2) - 4 * Y)) Then
  MBJC = 1
  Else
  If Val(Left(D1, Len(D1) - 4 * X)) < Val(Left(D2, Len(D2) - 4 * Y)) Then
  MBJC = -1
  Else
  For I = 4 To 4 * X Step 4
  A(I) = Mid(D1, Len(D1) - I + 1, 4)
  B(I) = Mid(D2, Len(D2) - I + 1, 4)
  Next
  J = 4 * X
  Do While A(J) = B(J) And J >= 8
  
  J = J - 4
     Loop
     
     
   If Val(A(J)) - Val(B(J)) > 0 Then
   MBJC = 1
   Else
   If Val(A(J)) - Val(B(J)) < 0 Then
   MBJC = -1
   Else
   MBJC = 0
   End If
   
  End If
  
  
  
  
End If
End If
End If
End If
End If
End Function
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub


验证;
输入A:123456789,
输入B:123456789,
输出;0,
输入A:12346,
输入B;12345,
输出:1,
输入A:12345678,
输入B:1234567891,
输出:-1,
 楼主| 发表于 2012-9-7 13:13 | 显示全部楼层

[讨论]大的正整数和0的比较大小的程序

主楼程序已修改,欢迎试用和批评!
 楼主| 发表于 2017-5-20 18:24 | 显示全部楼层
顶一下,欢迎试用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2026-5-16 15:57 , Processed in 0.134303 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表