NumberTransform.test.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import {formatNumber, unformatNumber} from '../../packages/input-number/src/NumberTransform.js';
  2. test('number formate test', () => {
  3. var number = 123456.789;
  4. //let value1 = formatNumber('de-DE', { style: 'currency', currency: 'EUR' }, number);
  5. // console.log(value1);
  6. //expect(value1).toEqual("123.456,79 €");
  7. let value2 = formatNumber(number, 'ja-JP', { style: 'currency', currency: 'JPY' });
  8. expect(value2).toEqual("¥123,457");
  9. let numberValue2 = unformatNumber(value2, 'ja-JP', { style: 'currency', currency: 'JPY' });
  10. expect(numberValue2).toEqual(123457);
  11. let value3 = formatNumber(number, 'en-IN', { maximumSignificantDigits: 3 });
  12. expect(value3).toEqual("1,23,000");
  13. let numberValue3 = unformatNumber(value3, 'en-IN', { maximumSignificantDigits: 3 });
  14. expect(numberValue3).toEqual(123000);
  15. number = 1234.56;
  16. // 将格式化数字为美元货币格式
  17. let value4 = formatNumber(number, 'en-US', { style: 'currency',
  18. currency: 'USD' });
  19. expect(value4).toEqual("$1,234.56");
  20. let numberValue4 = unformatNumber(value4, 'en-US', { style: 'currency',
  21. currency: 'USD' });
  22. expect(numberValue4).toEqual(1234.56);
  23. // 使用了en-US作为语言环境,并将最小小数位数和最大小数位数都设置为 2
  24. let value5 = formatNumber(number, 'en-US', {
  25. minimumFractionDigits: 2,
  26. maximumFractionDigits: 2
  27. });
  28. expect(value5).toEqual("1,234.56");
  29. let numberValue5 = unformatNumber(value5, 'en-US', { minimumFractionDigits: 2,
  30. maximumFractionDigits: 2 });
  31. expect(numberValue5).toEqual(1234.56);
  32. // 使用了en-US作为语言环境,并将最小整数位数设置为 4
  33. number = 12345.6789
  34. let value6 = formatNumber(number, 'en-US', {
  35. minimumIntegerDigits: 4,
  36. maximumFractionDigits: 0
  37. });
  38. expect(value6).toEqual("12,346");
  39. let numberValue6 = unformatNumber(value6, 'en-US', {
  40. minimumIntegerDigits: 4,
  41. maximumFractionDigits: 0 });
  42. expect(numberValue6).toEqual(12346);
  43. // 使用了en-US作为语言环境,并将样式设置为percent。我们还指定了最小小数位数为 2,最大小数位数为 2。
  44. number = 0.75;
  45. let value7 = formatNumber(number, 'en-US', {
  46. style: 'percent',
  47. minimumFractionDigits: 2,
  48. maximumFractionDigits: 2,
  49. });
  50. expect(value7).toEqual("75.00%");
  51. let numberValue7 = unformatNumber(value7, 'en-US', {
  52. style: 'percent',
  53. minimumFractionDigits: 2,
  54. maximumFractionDigits: 2, });
  55. expect(numberValue7).toEqual(0.75);
  56. });