mirror of https://github.com/jkjoy/sunpeiwen.git
86 lines
2.9 KiB
Markdown
86 lines
2.9 KiB
Markdown
|
# strnum
|
||
|
Parse string into Number based on configuration
|
||
|
|
||
|
```bash
|
||
|
npm install strnum
|
||
|
```
|
||
|
```js
|
||
|
const toNumber = require("strnum");
|
||
|
|
||
|
toNumber(undefined) // undefined
|
||
|
toNumber(null)) //null
|
||
|
toNumber("")) // ""
|
||
|
toNumber("string"); //"string")
|
||
|
toNumber("12,12"); //"12,12")
|
||
|
toNumber("12 12"); //"12 12")
|
||
|
toNumber("12-12"); //"12-12")
|
||
|
toNumber("12.12.12"); //"12.12.12")
|
||
|
toNumber("0x2f"); //47)
|
||
|
toNumber("-0x2f"); //-47)
|
||
|
toNumber("0x2f", { hex : true}); //47)
|
||
|
toNumber("-0x2f", { hex : true}); //-47)
|
||
|
toNumber("0x2f", { hex : false}); //"0x2f")
|
||
|
toNumber("-0x2f", { hex : false}); //"-0x2f")
|
||
|
toNumber("06"); //6)
|
||
|
toNumber("06", { leadingZeros : true}); //6)
|
||
|
toNumber("06", { leadingZeros : false}); //"06")
|
||
|
|
||
|
toNumber("006"); //6)
|
||
|
toNumber("006", { leadingZeros : true}); //6)
|
||
|
toNumber("006", { leadingZeros : false}); //"006")
|
||
|
toNumber("0.0"); //0)
|
||
|
toNumber("00.00"); //0)
|
||
|
toNumber("0.06"); //0.06)
|
||
|
toNumber("00.6"); //0.6)
|
||
|
toNumber(".006"); //0.006)
|
||
|
toNumber("6.0"); //6)
|
||
|
toNumber("06.0"); //6)
|
||
|
|
||
|
toNumber("0.0", { leadingZeros : false}); //0)
|
||
|
toNumber("00.00", { leadingZeros : false}); //"00.00")
|
||
|
toNumber("0.06", { leadingZeros : false}); //0.06)
|
||
|
toNumber("00.6", { leadingZeros : false}); //"00.6")
|
||
|
toNumber(".006", { leadingZeros : false}); //0.006)
|
||
|
toNumber("6.0" , { leadingZeros : false}); //6)
|
||
|
toNumber("06.0" , { leadingZeros : false}); //"06.0")
|
||
|
toNumber("-06"); //-6)
|
||
|
toNumber("-06", { leadingZeros : true}); //-6)
|
||
|
toNumber("-06", { leadingZeros : false}); //"-06")
|
||
|
|
||
|
toNumber("-0.0"); //-0)
|
||
|
toNumber("-00.00"); //-0)
|
||
|
toNumber("-0.06"); //-0.06)
|
||
|
toNumber("-00.6"); //-0.6)
|
||
|
toNumber("-.006"); //-0.006)
|
||
|
toNumber("-6.0"); //-6)
|
||
|
toNumber("-06.0"); //-6)
|
||
|
|
||
|
toNumber("-0.0" , { leadingZeros : false}); //-0)
|
||
|
toNumber("-00.00", { leadingZeros : false}); //"-00.00")
|
||
|
toNumber("-0.06", { leadingZeros : false}); //-0.06)
|
||
|
toNumber("-00.6", { leadingZeros : false}); //"-00.6")
|
||
|
toNumber("-.006", {leadingZeros : false}); //-0.006)
|
||
|
toNumber("-6.0" , { leadingZeros : false}); //-6)
|
||
|
toNumber("-06.0" , { leadingZeros : false}); //"-06.0")
|
||
|
toNumber("420926189200190257681175017717") ; //4.209261892001902e+29)
|
||
|
toNumber("000000000000000000000000017717" , { leadingZeros : false}); //"000000000000000000000000017717")
|
||
|
toNumber("000000000000000000000000017717" , { leadingZeros : true}); //17717)
|
||
|
toNumber("01.0e2" , { leadingZeros : false}); //"01.0e2")
|
||
|
toNumber("-01.0e2" , { leadingZeros : false}); //"-01.0e2")
|
||
|
toNumber("01.0e2") ; //100)
|
||
|
toNumber("-01.0e2") ; //-100)
|
||
|
toNumber("1.0e2") ; //100)
|
||
|
|
||
|
toNumber("-1.0e2") ; //-100)
|
||
|
toNumber("1.0e-2"); //0.01)
|
||
|
|
||
|
toNumber("+1212121212"); // 1212121212
|
||
|
toNumber("+1212121212", { skipLike: /\+[0-9]{10}/} )); //"+1212121212"
|
||
|
```
|
||
|
|
||
|
Supported Options
|
||
|
```js
|
||
|
hex : true, //when hexadecimal string should be parsed
|
||
|
leadingZeros: true, //when number with leading zeros like 08 should be parsed. 0.0 is not impacted
|
||
|
eNotation: true //when number with eNotation or number parsed in eNotation should be considered
|
||
|
```
|