Skip to content

Commit

Permalink
Merge 58464f8 into 6c00394
Browse files Browse the repository at this point in the history
  • Loading branch information
roll committed Apr 30, 2020
2 parents 6c00394 + 58464f8 commit 65f194a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
13 changes: 8 additions & 5 deletions src/types/number.js
Expand Up @@ -7,11 +7,14 @@ const { ERROR } = require('../config')
// Module API

function castNumber(format, value, options = {}) {
const decimalChar = options.decimalChar || _DEFAULT_DECIMAL_CHAR
const groupChar = options.groupChar || _DEFAULT_GROUP_CHAR
if (!isNumber(value)) {
if (!isString(value)) return ERROR
if (!value.length) return ERROR
if (value === 'NaN') return NaN
if (value === 'INF') return Infinity
if (value === '-INF') return -Infinity
const decimalChar = options.decimalChar || _DEFAULT_DECIMAL_CHAR
const groupChar = options.groupChar || _DEFAULT_GROUP_CHAR
value = value.replace(new RegExp('\\s', 'g'), '')
value = value.replace(new RegExp(`[${decimalChar}]`, 'g'), '.')
value = value.replace(new RegExp(`[${groupChar}]`, 'g'), '')
Expand All @@ -23,9 +26,9 @@ function castNumber(format, value, options = {}) {
} catch (error) {
return ERROR
}
}
if (isNaN(value)) {
return ERROR
if (isNaN(value)) {
return ERROR
}
}
return value
}
Expand Down
3 changes: 3 additions & 0 deletions test/types/number.js
Expand Up @@ -12,6 +12,9 @@ const TESTS = [
['default', '1', 1],
['default', '10.00', 10],
['default', '10.50', 10.5],
['default', 'NaN', NaN],
['default', 'INF', Infinity],
['default', '-INF', -Infinity],
['default', '100%', 100, { bareNumber: false }],
['default', '1000‰', 1000, { bareNumber: false }],
['default', '-1000', -1000],
Expand Down

0 comments on commit 65f194a

Please sign in to comment.