helperCreateMathNumber.js 729 B

123456789101112131415161718192021222324252627
  1. var toNumber = require('./toNumber')
  2. var toNumberString = require('./toNumberString')
  3. function helperCreateMathNumber(name) {
  4. return function (num, digits) {
  5. var rest = toNumber(num)
  6. if (rest) {
  7. digits = digits >> 0
  8. var numStr = toNumberString(rest)
  9. var nums = numStr.split('.')
  10. var intStr = nums[0]
  11. var floatStr = nums[1] || ''
  12. rest = intStr + '.' + floatStr.substring(0, digits + 1)
  13. if (digits >= floatStr.length) {
  14. return toNumber(rest)
  15. }
  16. if (digits > 0) {
  17. var ratio = Math.pow(10, digits)
  18. return Math[name](rest * ratio) / ratio
  19. }
  20. return Math[name](rest)
  21. }
  22. return rest
  23. }
  24. }
  25. module.exports = helperCreateMathNumber