40 lines
1 KiB
Text
40 lines
1 KiB
Text
' FB 1.050.0 Win64
|
|
|
|
Function rescale(price As Double) As Double
|
|
If price < 0.00 OrElse price > 1.00 Then Return price
|
|
Select Case price
|
|
Case Is < 0.06 : Return 0.10
|
|
Case Is < 0.11 : Return 0.18
|
|
Case Is < 0.16 : Return 0.26
|
|
Case Is < 0.21 : Return 0.32
|
|
Case Is < 0.26 : Return 0.38
|
|
Case Is < 0.31 : Return 0.44
|
|
Case Is < 0.36 : Return 0.50
|
|
Case Is < 0.41 : Return 0.54
|
|
Case Is < 0.46 : Return 0.58
|
|
Case Is < 0.51 : Return 0.62
|
|
Case Is < 0.56 : Return 0.66
|
|
Case Is < 0.61 : Return 0.70
|
|
Case Is < 0.66 : Return 0.74
|
|
Case Is < 0.71 : Return 0.78
|
|
Case Is < 0.76 : Return 0.82
|
|
Case Is < 0.81 : Return 0.86
|
|
Case Is < 0.86 : Return 0.90
|
|
Case Is < 0.91 : Return 0.94
|
|
Case Is < 0.96 : Return 0.98
|
|
End Select
|
|
Return 1.00
|
|
End Function
|
|
|
|
For i As Integer = 1 To 100
|
|
Dim d As Double = i/100.0
|
|
Print Using "#.##"; d;
|
|
Print " -> ";
|
|
Print Using "#.##"; rescale(d);
|
|
Print " ";
|
|
If i Mod 5 = 0 Then Print
|
|
Next
|
|
|
|
Print
|
|
Print "Press any key to quit"
|
|
Sleep
|