arithmeticFormatters.ts 933 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { toFixed } from './valueFormats';
  2. export function toPercent(size: number, decimals: number) {
  3. if (size === null) {
  4. return '';
  5. }
  6. return toFixed(size, decimals) + '%';
  7. }
  8. export function toPercentUnit(size: number, decimals: number) {
  9. if (size === null) {
  10. return '';
  11. }
  12. return toFixed(100 * size, decimals) + '%';
  13. }
  14. export function toHex0x(value: number, decimals: number) {
  15. if (value == null) {
  16. return '';
  17. }
  18. const hexString = toHex(value, decimals);
  19. if (hexString.substring(0, 1) === '-') {
  20. return '-0x' + hexString.substring(1);
  21. }
  22. return '0x' + hexString;
  23. }
  24. export function toHex(value: number, decimals: number) {
  25. if (value == null) {
  26. return '';
  27. }
  28. return parseFloat(toFixed(value, decimals))
  29. .toString(16)
  30. .toUpperCase();
  31. }
  32. export function sci(value: number, decimals: number) {
  33. if (value == null) {
  34. return '';
  35. }
  36. return value.toExponential(decimals);
  37. }