Price fraction: Difference between revisions

Content added Content deleted
Line 2,124: Line 2,124:
Price for 0.69, is: 0.78
Price for 0.69, is: 0.78
Price for 0.39, is: 0.54</pre>
Price for 0.39, is: 0.54</pre>

=={{header|Objeck}}==
{{trans|C#}}
<lang objeck>class PriceFraction {
function : Main(args : String[]) ~ Nil {
for(i := 0; i < 5; i++;) {
f := Float->Random();
p := SpecialRound(f);
"{$f} -> {$p}"->PrintLine();
};
}

function : SpecialRound(inValue : Float) ~ Float {
if (inValue > 1) {
return 1;
};

splitters := [
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 ];

replacements := [
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(x := 0; x < splitters->Size() - 1; x+=1;) {
if (inValue >= splitters[x] & inValue < splitters[x + 1]) {
return replacements[x];
};
};

return inValue;
}
}</lang>

{{output}}
<pre>
0.317901 -> 0.5
0.691109 -> 0.78
0.790891 -> 0.86
0.269922 -> 0.44
0.690891 -> 0.78
</pre>


=={{header|OCaml}}==
=={{header|OCaml}}==