Guest User

Untitled

a guest
Nov 16th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. // 求数字的汉字形式
  2.  
  3. const dbnum = function(num) {
  4. num = parseInt(num, 10);
  5. if (!num || num < 0 || num > Number.MAX_SAFE_INTEGER) return;
  6.  
  7. const str1 = "零一二三四五六七八九";
  8. const str2 = ["千", "百", "十", ""];
  9. const str3 = ["兆", "亿", "万", ""];
  10. const reg1 = /\d{1,4}(?=(\d{4})+$)/g;
  11. const toChinese = function(num) {
  12. return [...num]
  13. .map(
  14. (num, index, arr) =>
  15. str1[num] +
  16. (num === "0" ? "" : str2[str2.length - arr.length + index])
  17. )
  18. .join("")
  19. .replace(/零+/, "零")
  20. .replace(/零$/, "");
  21. };
  22. console.log(String(num).replace(reg1, "$&,"));
  23. return String(num)
  24. .replace(reg1, "$&,")
  25. .split(",")
  26. .map((num, index, arr) => {
  27. return toChinese(num) + str3[str3.length - arr.length + index];
  28. })
  29. .join("");
  30. };
  31.  
  32. console.log(dbnum(1001018000));
  33.  
  34. // 数组元素 组成的最大值问题
  35. // @author luxueyan
  36.  
  37. var a = [7, 998, 9, 52, 5, 3]
  38. var maxL = Math.max.apply(null, a).toString().length
  39.  
  40. var maxNumber = a.map(function(v) {
  41. return { diff: (v + new Array(maxL).join(v.toString().slice(0, 1))).slice(0, maxL), origin: v }
  42. }).sort(function(v1, v2) {
  43. return v2.diff - v1.diff
  44. }).map(function(v) {
  45. return v.origin
  46. }).join('')
  47.  
  48. console.log(maxNumber)
Add Comment
Please, Sign In to add comment