mistux Site Admin
Joined: 25 Jun 2004 Posts: 1042 Location: South Bend, Indiana USA
|
Posted: Mon Jan 28, 2008 10:17 am Post subject: Decimal Numbers to Fractions |
|
|
Code: | Function Num2Frac(ByVal x As Double) As String
Dim Fixed As Double, Temp As String
x = Abs(x)
Fixed = Int(x)
If Fixed > 0 Then
Temp = CStr(Fixed)
End If
'**********
'If Fixed = 0 Then '**This failed
'Temp = "0"
'Num2Frac = Temp
'Exit Function
'End If
'****************
If x = 0 Then '**This is so when they actually want a ZERO to print out.
Temp = "0"
Num2Frac = Temp
Exit Function
End If
Select Case x - Fixed
Case 0.1 To 0.145
Temp = Temp + " 1/8"
Case 0.145 To 0.182
Temp = Temp + " 1/6"
Case 0.182 To 0.225
Temp = Temp + " 1/5"
Case 0.225 To 0.29
Temp = Temp + " 1/4"
Case 0.29 To 0.35
Temp = Temp + " 1/3"
Case 0.35 To 0.3875
Temp = Temp + " 3/8"
Case 0.3875 To 0.45
Temp = Temp + " 2/5"
Case 0.45 To 0.55
Temp = Temp + " 1/2"
Case 0.55 To 0.6175
Temp = Temp + " 3/5"
Case 0.6175 To 0.64
Temp = Temp + " 5/8"
Case 0.64 To 0.7
Temp = Temp + " 2/3"
Case 0.7 To 0.775
Temp = Temp + " 3/4"
Case 0.775 To 0.8375
Temp = Temp + " 4/5"
Case 0.8735 To 0.91
Temp = Temp + " 7/8"
Case Is > 0.91
Temp = CStr(Int(x) + 1)
End Select
Num2Frac = Temp
End Function |
|
|