Skip to content

Commit f73db27

Browse files
committed
fix: 🐛 resolve problems reported by sonarcloud
1 parent cf302df commit f73db27

File tree

2 files changed

+18
-19
lines changed

2 files changed

+18
-19
lines changed

src/utils/number.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
export const parseFloat = (value: string): number => {
1+
export const toFloat = (value: string): number => {
22
const resultFloat = Number.parseFloat(value);
33

44
return Number.isNaN(resultFloat) ? 0 : resultFloat;
55
};
66

7-
export const round = (num: number, precision: number): number => {
7+
export const roundNumber = (num: number, precision: number): number => {
88
const numSign = num >= 0 ? 1 : -1;
99

10-
return parseFloat(
10+
return toFloat(
1111
(
1212
Math.round(num * Math.pow(10, precision) + numSign * 0.0001) / Math.pow(10, precision)
1313
).toFixed(precision),
1414
);
1515
};
1616

17-
export const format = (num: number, precision: number): string => {
18-
return round(num, precision).toFixed(precision);
17+
export const formatNumber = (num: number, precision: number): string => {
18+
return roundNumber(num, precision).toFixed(precision);
1919
};

tests/unit/utils/number.spec.ts

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,30 @@
1-
import { format, parseFloat, round } from '#src/utils/number';
1+
import { formatNumber, roundNumber, toFloat } from '#src/utils/number';
22

33
describe('number utils', () => {
44
test('format floating point with another decimal different of 5', () => {
5-
expect(format(1e-8, 8)).toBe('0.00000001');
5+
expect(formatNumber(1e-8, 8)).toBe('0.00000001');
66
});
77

88
test('format floating point number 5 upper half of an integer', () => {
9-
expect(format(0.1234565, 6)).toBe('0.123457');
9+
expect(formatNumber(0.1234565, 6)).toBe('0.123457');
1010
});
1111

1212
test('format other numbers with fraction such as .005', () => {
13-
expect(format(1.015, 2)).toBe('1.02');
14-
expect(format(4.015, 2)).toBe('4.02');
15-
expect(format(5.015, 2)).toBe('5.02');
16-
expect(format(6.015, 2)).toBe('6.02');
17-
expect(format(7.015, 2)).toBe('7.02');
18-
expect(format(128.015, 2)).toBe('128.02');
19-
expect(format(0.005, 2)).toBe('0.01');
13+
expect(formatNumber(4.015, 2)).toBe('4.02');
14+
expect(formatNumber(5.015, 2)).toBe('5.02');
15+
expect(formatNumber(6.015, 2)).toBe('6.02');
16+
expect(formatNumber(7.015, 2)).toBe('7.02');
17+
expect(formatNumber(128.015, 2)).toBe('128.02');
18+
expect(formatNumber(0.005, 2)).toBe('0.01');
2019
});
2120

2221
test('parseFloat works with NaN numbers', () => {
23-
expect(parseFloat('')).toBe(0);
24-
expect(parseFloat('0.0001')).toBe(0.0001);
25-
expect(parseFloat('1.0')).toBe(1);
22+
expect(toFloat('')).toBe(0);
23+
expect(toFloat('0.0001')).toBe(0.0001);
24+
expect(toFloat('1.0')).toBe(1);
2625
});
2726

2827
test('round works with negative numbers', () => {
29-
expect(round(-1.015, 2)).toBe(-1.02);
28+
expect(roundNumber(-1.015, 2)).toBe(-1.02);
3029
});
3130
});

0 commit comments

Comments
 (0)