You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
914 B
20 lines
914 B
4 years ago
|
// Number utilities
|
||
|
// Converts a value (string, number, etc.) to an integer number
|
||
|
// Assumes radix base 10
|
||
|
export var toInteger = function toInteger(value) {
|
||
|
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;
|
||
|
var integer = parseInt(value, 10);
|
||
|
return isNaN(integer) ? defaultValue : integer;
|
||
|
}; // Converts a value (string, number, etc.) to a number
|
||
|
|
||
|
export var toFloat = function toFloat(value) {
|
||
|
var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;
|
||
|
var 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 var toFixed = function toFixed(val, precision) {
|
||
|
return toFloat(val).toFixed(toInteger(precision, 0));
|
||
|
};
|