求小数点后100位

guoke7984 2003-10-08 12:02:25
怎么求M/N的商,精确的小数点后100位?
...全文
283 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoke2001 2003-11-11
  • 打赏
  • 举报
回复
Thanks!
scegg 2003-10-12
  • 打赏
  • 举报
回复
Module Division_Module
Public Function Division(ByVal Dividend As Long, ByVal Divisor As Long, ByVal Decimal_Digits As Int32) As Int32()
Dim TempData() As Int32, Residue As Int32
If Divisor <= 0 Then Exit Function
If Dividend < 0 Then Exit Function
If Decimal_Digits < 0 Then Exit Function
ReDim TempData(Decimal_Digits)
TempData(0) = Dividend \ Divisor
Residue = Dividend Mod Divisor
If Decimal_Digits > 0 Then
For i As Int32 = 1 To Decimal_Digits
Residue *= 10
TempData(i) = Residue \ Divisor
Residue = Residue Mod Divisor
Next
End If
Residue *= 10
If Residue \ Divisor > 4 Then TempData(Decimal_Digits) += 1
For i As Int32 = Decimal_Digits To 1 Step -1
If TempData(i) = 10 Then
TempData(i) = 0
TempData(i - 1) += 1
End If
Next
Return TempData
End Function

Public Function DivisionString(ByVal Dividend As Long, ByVal Divisor As Long, ByVal Decimal_Digits As Int32) As String
Dim TempData() As Int32 = Division(Dividend, Divisor, Decimal_Digits)
Dim Output As String = Format(TempData(0))
If UBound(TempData) > 0 Then
Output += "."
For i As Int32 = 1 To UBound(TempData)
Output += Format(TempData(i))
Next
End If
Return Output
End Function


'Dividend Cannot < 0
'Divisor Must > 0
'Decimal_Digits Cannot < 0

'DivisionString: Return a string.
'Division: Return an Int32()

End Module

VS2003调试通过。
guoke7984 2003-10-09
  • 打赏
  • 举报
回复
有没有现成的代码?
ltach 2003-10-08
  • 打赏
  • 举报
回复
计算出值后再从小数点后截取100位,我想这样应该可以!
dongbeiren 2003-10-08
  • 打赏
  • 举报
回复
好像还没这种数据类型,
scegg 2003-10-08
  • 打赏
  • 举报
回复
其实,你可以用分数形式来解决啊,然后转成小数就可以了。
转换的时候自己设计一个函数,让它一步步做整除。将上一步的余数取出来继续除下一位,并累加结果,直到有100位。
如果需要分数处理模块,我可以免费提供一个比较好的:QQ 6530085。
如果需要转换算法,我可以帮你设计一个。
ETstudio 2003-10-08
  • 打赏
  • 举报
回复
好象没有可以用的数据类型啊,给你个思路
把分母放大,再计算,然后截取
guoke7984 2003-10-08
  • 打赏
  • 举报
回复
能不能自己写一个函数,使得计算出的值精确到小数点后100位?
dongbeiren 2003-10-08
  • 打赏
  • 举报
回复
Decimal可以支持的小数位数才20多位

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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