asp如何编写一个小数转换分数的函数?

来源:asp之家 时间:2009-11-08 19:01:00 

我们可用一个函数来实现小数转分数,不过只能转换能够整除的分数:

Public Function XtoF(str As Currency, Optional fenm As Integer = 32) As String 
' 只限于整除分数
  Dim Cfm As Currency
  Dim cfmmod As Integer
  On Error GoTo Erroreof
  
  Cfm = 1 / fenm
  XtoF = ""
  If str = 0 Then XtoF = "": Exit Function
  
  Dim point As Integer
  Dim dInt As String
  Dim dPoint As Currency
  Dim fint, fint1, fint2 As Integer
  If str <> 0 Then
        If str > 1 Then
            point = InStr(1, str, ".", 1)
            If point = 0 Then
                XtoF = str:
                Exit Function
            Else
                dInt = Mid(str, 1, point - 1)
                dPoint = CCur("0." & Mid(str, point + 1))
                fint = InStr(1, XtoF(dPoint), "/", 1)
                fint1 = CInt(Mid(XtoF(dPoint), 1, fint - 1))
                fint2 = CInt(Mid(XtoF(dPoint), fint + 1))
                
                XtoF = CStr(dInt * fint2 + fint1) & "/" & CStr(fint2)
          
            End If
        Else
          If fenm Mod CInt(str / Cfm) = 0 Then
            XtoF = "1/" + CStr(fenm / CInt(str / Cfm))
          Else
              cfmmod = Maxgys(fenm, CInt(str / Cfm))
            XtoF = CStr(CInt(str / Cfm / cfmmod)) + "/" + CStr(CInt(fenm / cfmmod))
          End If
        End If
  Else
      XtoF = "0"
  End If
  Exit Function
Erroreof:
  XtoF = ""
End Function
Function Maxgys(num1 As Integer, num2 As Integer) As Integer
    Dim minnum, i As Integer
    minnum = num1
    If num1 > num2 Then minnum = num2
    For i = 1 To minnum
    If ((num1 Mod i) = 0) And ((num2 Mod i) = 0) Then Maxgys = i
    Next i
End Function


 

标签:小数,转换,函数,分数
0
投稿

猜你喜欢

  • Protobuf在Cmake中的正确使用方法详解

    2024-01-02 01:26:12
  • 关于Python的一些学习总结

    2022-01-10 11:23:41
  • python 用pandas实现数据透视表功能

    2022-04-23 02:49:40
  • 利用python在excel里面直接使用sql函数的方法

    2023-10-15 00:34:57
  • 窗口没有提示自动关闭的js代码

    2024-04-16 10:42:17
  • python 爬取天气网卫星图片

    2022-01-11 15:52:48
  • python实现批量获取指定文件夹下的所有文件的厂商信息

    2021-12-14 20:42:27
  • python paramiko远程服务器终端操作过程解析

    2022-10-08 00:50:14
  • js处理自己不能定义二维数组的方法详解

    2023-09-06 21:25:12
  • Python3 使用map()批量的转换数据类型,如str转float的实现

    2023-07-15 10:35:03
  • Python实现进程同步和通信的方法

    2023-08-30 04:21:45
  • Python利用fastapi实现上传文件

    2023-12-09 05:54:40
  • Python高阶函数、常用内置函数用法实例分析

    2023-01-24 17:36:58
  • 美工自我培养的几点经验总结

    2009-11-19 12:57:00
  • 分享:在存储过程中使用另一个存储过程返回的查询结果集的方法

    2024-01-16 13:03:57
  • Python基础第三方模块requests openpyxl

    2023-09-24 04:31:32
  • 用python代码将tiff图片存储到jpg的方法

    2021-11-24 19:54:49
  • pandas中apply和transform方法的性能比较及区别介绍

    2023-07-18 22:23:40
  • Python基于pygame模块播放MP3的方法示例

    2023-09-22 12:33:19
  • Python使用defaultdict读取文件各列的方法

    2021-08-05 00:34:24
  • asp之家 网络编程 m.aspxhome.com