Merge pull request 'fix: commaNumber silently returns '0' for NaN and falsy values (#427)' (#485) from fix/issue-427 into master
This commit is contained in:
commit
37d7339fbf
2 changed files with 11 additions and 2 deletions
|
|
@ -22,7 +22,8 @@ export function compactNumber(value: number): string {
|
|||
|
||||
/** Format number with commas (e.g. "1,234,567") */
|
||||
export function commaNumber(value: number): string {
|
||||
return value ? value.toLocaleString('en-US') : '0';
|
||||
if (!Number.isFinite(value)) return '0';
|
||||
return value.toLocaleString('en-US');
|
||||
}
|
||||
|
||||
/** Format a token amount with comma grouping and 2 decimal places (e.g. "1,234.56") */
|
||||
|
|
|
|||
|
|
@ -95,10 +95,18 @@ describe('compactNumber', () => {
|
|||
});
|
||||
|
||||
describe('commaNumber', () => {
|
||||
test('returns "0" for falsy input', () => {
|
||||
test('returns "0" for zero', () => {
|
||||
expect(commaNumber(0)).toBe('0');
|
||||
});
|
||||
|
||||
test('returns "0" for NaN', () => {
|
||||
expect(commaNumber(NaN)).toBe('0');
|
||||
});
|
||||
|
||||
test('returns "0" for Infinity', () => {
|
||||
expect(commaNumber(Infinity)).toBe('0');
|
||||
});
|
||||
|
||||
test('formats thousands with commas', () => {
|
||||
expect(commaNumber(1234)).toBe('1,234');
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue