Price fraction: Difference between revisions
Content added Content deleted
m (→{{header|Wren}}: Minor tidy) |
No edit summary |
||
Line 1,965: | Line 1,965: | ||
0.9 |
0.9 |
||
0.5</pre> |
0.5</pre> |
||
=={{header|Dart}}== |
|||
{{trans|Swift}} |
|||
<syntaxhighlight lang="Dart"> |
|||
class Range { |
|||
final double start; |
|||
final double end; |
|||
Range(this.start, this.end); |
|||
bool contains(double value) { |
|||
return value >= start && value < end; |
|||
} |
|||
} |
|||
List<MapEntry<Range, double>> ranges = [ |
|||
MapEntry(Range(0.00, 0.06), 0.10), |
|||
MapEntry(Range(0.06, 0.11), 0.18), |
|||
MapEntry(Range(0.11, 0.16), 0.26), |
|||
MapEntry(Range(0.16, 0.21), 0.32), |
|||
MapEntry(Range(0.21, 0.26), 0.38), |
|||
MapEntry(Range(0.26, 0.31), 0.44), |
|||
MapEntry(Range(0.31, 0.36), 0.50), |
|||
MapEntry(Range(0.36, 0.41), 0.54), |
|||
MapEntry(Range(0.41, 0.46), 0.58), |
|||
MapEntry(Range(0.46, 0.51), 0.62), |
|||
MapEntry(Range(0.51, 0.56), 0.66), |
|||
MapEntry(Range(0.56, 0.61), 0.70), |
|||
MapEntry(Range(0.61, 0.66), 0.74), |
|||
MapEntry(Range(0.66, 0.71), 0.78), |
|||
MapEntry(Range(0.71, 0.76), 0.82), |
|||
MapEntry(Range(0.76, 0.81), 0.86), |
|||
MapEntry(Range(0.81, 0.86), 0.90), |
|||
MapEntry(Range(0.86, 0.91), 0.94), |
|||
MapEntry(Range(0.91, 0.96), 0.98), |
|||
MapEntry(Range(0.96, 1.01), 1.00), |
|||
]; |
|||
double adjustDouble(double val, List<MapEntry<Range, double>> ranges) { |
|||
for (var range in ranges) { |
|||
if (range.key.contains(val)) { |
|||
return range.value; |
|||
} |
|||
} |
|||
return val; // Return the original value if no range is found |
|||
} |
|||
void main() { |
|||
for (double val = 0.0; val <= 1.0; val += 0.01) { |
|||
String strFmt(double n) => n.toStringAsFixed(2); |
|||
double adjusted = adjustDouble(val, ranges); |
|||
print("${strFmt(val)} -> ${strFmt(adjusted)}"); |
|||
} |
|||
} |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
0.00 -> 0.10 |
|||
0.01 -> 0.10 |
|||
0.02 -> 0.10 |
|||
0.03 -> 0.10 |
|||
0.04 -> 0.10 |
|||
0.05 -> 0.10 |
|||
0.06 -> 0.18 |
|||
0.07 -> 0.18 |
|||
0.08 -> 0.18 |
|||
0.09 -> 0.18 |
|||
0.10 -> 0.18 |
|||
0.11 -> 0.18 |
|||
0.12 -> 0.26 |
|||
0.13 -> 0.26 |
|||
0.14 -> 0.26 |
|||
0.15 -> 0.26 |
|||
0.16 -> 0.32 |
|||
0.17 -> 0.32 |
|||
0.18 -> 0.32 |
|||
0.19 -> 0.32 |
|||
0.20 -> 0.32 |
|||
0.21 -> 0.38 |
|||
0.22 -> 0.38 |
|||
0.23 -> 0.38 |
|||
0.24 -> 0.38 |
|||
0.25 -> 0.38 |
|||
0.26 -> 0.44 |
|||
0.27 -> 0.44 |
|||
0.28 -> 0.44 |
|||
0.29 -> 0.44 |
|||
0.30 -> 0.44 |
|||
0.31 -> 0.50 |
|||
0.32 -> 0.50 |
|||
0.33 -> 0.50 |
|||
0.34 -> 0.50 |
|||
0.35 -> 0.50 |
|||
0.36 -> 0.54 |
|||
0.37 -> 0.54 |
|||
0.38 -> 0.54 |
|||
0.39 -> 0.54 |
|||
0.40 -> 0.54 |
|||
0.41 -> 0.58 |
|||
0.42 -> 0.58 |
|||
0.43 -> 0.58 |
|||
0.44 -> 0.58 |
|||
0.45 -> 0.58 |
|||
0.46 -> 0.62 |
|||
0.47 -> 0.62 |
|||
0.48 -> 0.62 |
|||
0.49 -> 0.62 |
|||
0.50 -> 0.62 |
|||
0.51 -> 0.66 |
|||
0.52 -> 0.66 |
|||
0.53 -> 0.66 |
|||
0.54 -> 0.66 |
|||
0.55 -> 0.66 |
|||
0.56 -> 0.70 |
|||
0.57 -> 0.70 |
|||
0.58 -> 0.70 |
|||
0.59 -> 0.70 |
|||
0.60 -> 0.70 |
|||
0.61 -> 0.74 |
|||
0.62 -> 0.74 |
|||
0.63 -> 0.74 |
|||
0.64 -> 0.74 |
|||
0.65 -> 0.74 |
|||
0.66 -> 0.78 |
|||
0.67 -> 0.78 |
|||
0.68 -> 0.78 |
|||
0.69 -> 0.78 |
|||
0.70 -> 0.78 |
|||
0.71 -> 0.82 |
|||
0.72 -> 0.82 |
|||
0.73 -> 0.82 |
|||
0.74 -> 0.82 |
|||
0.75 -> 0.82 |
|||
0.76 -> 0.86 |
|||
0.77 -> 0.86 |
|||
0.78 -> 0.86 |
|||
0.79 -> 0.86 |
|||
0.80 -> 0.86 |
|||
0.81 -> 0.90 |
|||
0.82 -> 0.90 |
|||
0.83 -> 0.90 |
|||
0.84 -> 0.90 |
|||
0.85 -> 0.90 |
|||
0.86 -> 0.94 |
|||
0.87 -> 0.94 |
|||
0.88 -> 0.94 |
|||
0.89 -> 0.94 |
|||
0.90 -> 0.94 |
|||
0.91 -> 0.98 |
|||
0.92 -> 0.98 |
|||
0.93 -> 0.98 |
|||
0.94 -> 0.98 |
|||
0.95 -> 0.98 |
|||
0.96 -> 1.00 |
|||
0.97 -> 1.00 |
|||
0.98 -> 1.00 |
|||
0.99 -> 1.00 |
|||
</pre> |
|||
=={{header|Delphi}}== |
=={{header|Delphi}}== |