本帖最后由 bcrun 于 2011-01-14 09:42:44 编辑

解决方案 »

  1.   


    '分数
    Public Function Friction(Fri As Single) As String
    Const MAX = 0.01
    Dim i     As Integer
    Dim str     As String
    i = 1
    While Abs((i / Fri) - Round((i / Fri), 0)) > MAX
        i = i + 1
    Wend
    str = i & "/ " & Round(i / Fri)
    Friction = str
    End FunctionPrivate Sub Form_Load()
    Dim i As String
        i = Friction(0.214)
        Debug.Print i
    End Sub
      

  2.   

    (-b + Sqr(d)) / (2 * a)
    不要算出来,直接对这个表达式化简
    继续Google,求最大公约数的算法。
      

  3.   

    本帖最后由 bcrun 于 2011-01-14 09:42:46 编辑
      

  4.   

    只能说:老子晕,遇得到哦。
    你要的不是结果,是结果的显示形式
    你想在程序中显示根号那个七弯八绕的特殊符号,以及和我们平时写的一样的分为上下两部分的分号,
    要么找些支持数学符号显示的控件,要么直接用picturebox自己像画画一样把结果画上去。
      

  5.   

    我的QQ空间里有这种代码
    可以解决输出分数和根号的问题
    例如,输入0.33333333333333则显示1/3.输入18^0.5则显示3√2
    http://sz.user.qzone.qq.com/810296309/infocenter#!app=2&via=QZ.HashRefresh&pos=1346204476