关于计算器的一点小问题

wantknow999 2004-09-14 05:05:09
windows的计算器1/3=0.333333333333333333333333333333333
在vb中怎样也能得到这样的结果
...全文
251 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wantknow999 2004-09-15
  • 打赏
  • 举报
回复
to: northwolves(狼行天下) 大哥
对于小数相除先将小数转化为整数可以了吧,谢谢了。
kmzs 2004-09-14
  • 打赏
  • 举报
回复
northwolves 2004-09-14
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
DEVIDE 355, 113, 1000
End Sub

Sub DEVIDE(ByVal X As Integer, ByVal Y As Integer, Optional ByVal Numdigitsafterdecimal As Integer = 100, Optional ByRef result As String)'x/y取小数点后Numdigitsafterdecimal 位(默认100)
Dim a() As String, temp As Integer, temp2 As Integer, m As Integer
ReDim a(Numdigitsafterdecimal)
result = Int(X / Y) & "."
m = 0
a(m) = X Mod Y
temp = a(m)
Do While m < Numdigitsafterdecimal
temp = temp * 10
temp2 = Int(temp / Y)
temp = temp Mod Y
result = result & Right(temp2, 1)
m = m + 1
a(m) = temp
Loop
result = X & "÷" & Y & "=" & result
Debug.Print result
End Sub


返回:

355÷113=3.1415929203539823008849557522123893805309734513274336283185840707964601769911504424778761061946902654867256637168141592920353982300884955752212389380530973451327433628318584070796460176991150442477876106194690265486725663716814159292035398230088495575221238938053097345132743362831858407079646017699115044247787610619469026548672566371681415929203539823008849557522123893805309734513274336283185840707964601769911504424778761061946902654867256637168141592920353982300884955752212389380530973451327433628318584070796460176991150442477876106194690265486725663716814159292035398230088495575221238938053097345132743362831858407079646017699115044247787610619469026548672566371681415929203539823008849557522123893805309734513274336283185840707964601769911504424778761061946902654867256637168141592920353982300884955752212389380530973451327433628318584070796460176991150442477876106194690265486725663716814159292035398230088495575221238938053097345132743362831858407079646017699115044247787610619469026548672
wantknow999 2004-09-14
  • 打赏
  • 举报
回复
to littlefishli(凉水塞牙~)
或者就像自己用的除法法则那样,用char来实现,想除多少位都没问题

怎么实现呀?谢先了
starsoulxp 2004-09-14
  • 打赏
  • 举报
回复
Format(1 / 3, "0.000000000000000")
littlefishli 2004-09-14
  • 打赏
  • 举报
回复
或者就像自己用的除法法则那样,用char来实现,想除多少位都没问题。
laviewpbt 2004-09-14
  • 打赏
  • 举报
回复
同意楼上的意见
northwolves 2004-09-14
  • 打赏
  • 举报
回复
.333333333333333

精度问题,VB DOUBLE 型15位
changei123 2004-09-14
  • 打赏
  • 举报
回复
text1.text=val(text2.text)/val(text3.text)
tztz520 2004-09-14
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
MsgBox Format(1 / 3, "0.000000000000000")'后面最多可以取15位.
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧