number.js
716 Bytes
// Number utilities
// Converts a value (string, number, etc.) to an integer number
// Assumes radix base 10
export const toInteger = (value, defaultValue = NaN) => {
const integer = parseInt(value, 10)
return isNaN(integer) ? defaultValue : integer
}
// Converts a value (string, number, etc.) to a number
export const toFloat = (value, defaultValue = NaN) => {
const float = parseFloat(value)
return isNaN(float) ? defaultValue : float
}
// Converts a value (string, number, etc.) to a string
// representation with `precision` digits after the decimal
// Returns the string 'NaN' if the value cannot be converted
export const toFixed = (val, precision) => toFloat(val).toFixed(toInteger(precision, 0))