Price fraction: Difference between revisions
Content added Content deleted
m (→{{header|Ruby}}: extract comparison operators from the text) |
(Added C#) |
||
Line 130: | Line 130: | ||
.3444635 .5 |
.3444635 .5 |
||
.0491907 .1 |
.0491907 .1 |
||
=={{header|C#}}== |
|||
<lang csharp>namespace ConsoleApplication1 |
|||
{ |
|||
class Program |
|||
{ |
|||
static void Main(string[] args) |
|||
{ |
|||
for (int x = 0; x < 10; x++) |
|||
{ |
|||
Console.WriteLine("In: {0:0.00}, Out: {1:0.00}", ((double)x) / 10, SpecialRound(((double)x) / 10)); |
|||
} |
|||
Console.WriteLine(); |
|||
for (int x = 0; x < 10; x++) |
|||
{ |
|||
Console.WriteLine("In: {0:0.00}, Out: {1:0.00}", ((double)x) / 10 + 0.05, SpecialRound(((double)x) / 10 + 0.05)); |
|||
} |
|||
Console.WriteLine(); |
|||
Console.WriteLine("In: {0:0.00}, Out: {1:0.00}", 1.01, SpecialRound(1.01)); |
|||
Console.Read(); |
|||
} |
|||
private static double SpecialRound(double inValue) |
|||
{ |
|||
if (inValue > 1) return 1; |
|||
double[] Splitters = new double[] { |
|||
0.00 , 0.06 , 0.11 , 0.16 , 0.21 , |
|||
0.26 , 0.31 , 0.36 , 0.41 , 0.46 , |
|||
0.51 , 0.56 , 0.61 , 0.66 , 0.71 , |
|||
0.76 , 0.81 , 0.86 , 0.91 , 0.96 }; |
|||
double[] replacements = new double[] { |
|||
0.10 , 0.18 , 0.26 , 0.32 , 0.38 , |
|||
0.44 , 0.50 , 0.54 , 0.58 , 0.62 , |
|||
0.66 , 0.70 , 0.74 , 0.78 , 0.82 , |
|||
0.86 , 0.90 , 0.94 , 0.98 , 1.00 }; |
|||
for (int x = 0; x < Splitters.Length - 1; x++) |
|||
{ |
|||
if (inValue >= Splitters[x] && |
|||
inValue < Splitters[x + 1]) |
|||
{ |
|||
return replacements[x]; |
|||
} |
|||
} |
|||
return inValue; |
|||
} |
|||
} |
|||
}</lang> |
|||
=={{header|C++}}== |
=={{header|C++}}== |
||
Line 179: | Line 234: | ||
0 |
0 |
||
</pre> |
</pre> |
||
=={{header|Clipper}}== |
=={{header|Clipper}}== |