'分数 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
(-b + Sqr(d)) / (2 * a) 不要算出来,直接对这个表达式化简 继续Google,求最大公约数的算法。
'分数
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
不要算出来,直接对这个表达式化简
继续Google,求最大公约数的算法。
你要的不是结果,是结果的显示形式
你想在程序中显示根号那个七弯八绕的特殊符号,以及和我们平时写的一样的分为上下两部分的分号,
要么找些支持数学符号显示的控件,要么直接用picturebox自己像画画一样把结果画上去。
可以解决输出分数和根号的问题
例如,输入0.33333333333333则显示1/3.输入18^0.5则显示3√2
http://sz.user.qzone.qq.com/810296309/infocenter#!app=2&via=QZ.HashRefresh&pos=1346204476