25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 

73 satır
2.1 KiB

  1. const { padNumber, formatNumber } = require('../core/util');
  2. module.exports = {
  3. floor: function(num) {
  4. return Math.floor(Number(num));
  5. },
  6. ceil: function(num) {
  7. return Math.ceil(Number(num));
  8. },
  9. round: function(num) {
  10. return Math.round(Number(num));
  11. },
  12. abs: function(num) {
  13. return Math.abs(Number(num));
  14. },
  15. pow: function(num, exp) {
  16. return Math.pow(num, exp);
  17. },
  18. padNumber: function(num, digids) {
  19. num = Number(num);
  20. if (isNaN(num) || !isFinite(num)) return 'NaN';
  21. return padNumber(num, digids);
  22. },
  23. formatNumber: function(num, decimals, decimalSeparator, groupingSeparator) {
  24. return formatNumber(num, decimals, decimalSeparator, groupingSeparator);
  25. },
  26. hex: function(num) {
  27. return parseInt(String(num), 16) || NaN;
  28. },
  29. currency: function(num, unit, decimalSeparator, groupingSeparator, decimals) {
  30. unit = typeof unit == 'string' ? unit : '$';
  31. decimalSeparator = typeof decimalSeparator == 'string' ? decimalSeparator : '.';
  32. groupingSeparator = typeof groupingSeparator == 'string' ? groupingSeparator : ',';
  33. decimals = typeof decimals == 'number' ? Math.abs(decimals) : 2;
  34. let formatted = formatNumber(num, decimals, decimalSeparator, groupingSeparator);
  35. let minus = formatted[0] == '-';
  36. return (minus ? '-' : '') + unit + formatted.replace(/^\-/, '');
  37. },
  38. formatSize: function(num, decimals, binary) {
  39. num = Number(num);
  40. if (isNaN(num) || !isFinite(num)) return 'NaN';
  41. decimals = typeof decimals == 'number' ? Math.abs(decimals) : 2;
  42. let base = binary ? 1024 : 1000;
  43. let suffix = binary ? ['KiB', 'MiB', 'GiB', 'TiB'] : ['kB', 'MB', 'GB', 'TB'];
  44. for (let i = 3; i >= 0; i--) {
  45. let n = Math.pow(base, i + 1);
  46. if (num >= n) {
  47. return formatNumber(num / n, decimals) + suffix[i];
  48. }
  49. }
  50. return num + 'B';
  51. },
  52. };