Looking for help in rounding the money to the nearest 0.05 in js language.
Input & Expected Output:
1.10 => 1.10 1.11 => 1.10 (round down) 1.12 => 1.10 (round down) 1.13 => 1.15 (round up) 1.14 => 1.15 (round up) 1.15 => 1.15 1.16 => 1.15 (round down) 1.17 => 1.15 (round down) 1.18 => 1.20 (round up) 1.19 => 1.20 (round up)
Advertisement
Answer
You could take an offset and take a multiple floored value.
If you need zeroes at the end take .toFixed(2)
.
const format = f => Math.floor((f + 0.025) * 20) / 20; console.log([1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19].map(format));
.as-console-wrapper { max-height: 100% !important; top: 0; }