0.1.2 • Published 6 years ago
float.flow v0.1.2
float.flow
Library provides float
opquae type alias for number
and set of functions
to work with float
type values.
API
Import
import * as Float from "float.flow"
Float.float:number
Library exposes float
, a subtype of a number
.
Float.parseFloat(string):?float
Try to turn given string into a float
, unlike built-in parseFloat
this function never return NaN
or an Infinity
, but rather retuns null
(?
portion of ?float
). It also unlike built-in parseFloat
fails (returns null
) on strings than aren't numbers like "0what?"
.
Float.parseFloat("123") //> 123
Float.parseFloat("3.14") //> 3.14
Float.parseFloat("3.14") //> 3.14
Float.parseFloat("+3.14") //> 3.14
Float.parseFloat("-3.14") //> -3.14
Float.parseFloat("0") //> 0
Float.parseFloat(".0") // > 0
Float.parseFloat("NaN") //> null
Float.parseFloat("-Infinity") //> null
Float.parseFloat("Infinity") //> null
Float.parseFloat("0xFF") //> null
Float.parseFloat("0what?") //> null
Float.toFloat(number):float
Turns any number into a float
. Useful for working with APIs that require float
type argument instead of number
.
Float.toFloat(0) //> 0
Float.toFloat(1 / 2) // 1.5
Float.toFloat(0 / 0) //> NaN
Float.toFloat(1 / 0) // Infinity
Float.isNaN(number):boolean
Returns true
if given number
is NaN
. Just an alias for JS built-in isNaN
.
Float.isNaN(0 / 0) //> true
Float.isNaN(NaN * 2) //> true
Float.isNaN(Infinity) //> false
Float.isNaN(3) //> false
Float.isFinite(number):boolean
Return true
if given number
is finite (is neither NaN
nor (-
)Infinity
). It is just an alias for built-in isFinite
.
Float.isFinite(0 / 0) //> false
Float.isFinite(1 / 0) //> false
Float.isFinite(Infinity) //> false
Float.isFinite(-Infinity) //> false
Float.isFinite(NaN) //> false
Float.isFinite(.0) //> true
Float.isFinite(1 / 8) //> true
Float.isFinite(7) //> true
Install
npm install float.flow