1.0.5 • Published 4 years ago

strnum v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

strnum

Parse string into Number based on configuration

npm install strnum
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

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
easy-select-rnunblock-block-save-variableshexa-node-common@infinitebrahmanuniverse/nolb-strnluminos-ui-core@everything-registry/sub-chunk-2837jawwy-sdkjawwy_gamification_releasereact-native-sphereuisphereuijawwy_libraryreact-native-credit-card-pkgreact-native-jawwy_samplegriffin-ui-libraryspenstest-zeo-collectvision-camera-plugin-face-detectorvantiq-reactjeuxuijesh-calculationjordy-frijters-test-libmanan-react-native-expo-authorize-net@tlgeo/react-native-gdal@thinxviewx/core-rn@usefelps/utils@zotasys/nativeagent-get-agentawesome-module-kdarchlibrary@aysea/react-native-ui-library@aaxis/fast-xml-parser@ahmed_shaban123/react-native-currencyinput@adatechnology/react-native-android-getnet-pos@edwinpb/scany@ajaykewat/myboilerplate@ali5049/react-native-buttonsjawwy_library_newjawy_library_v1gamification-jawwy-libraryframework_test_library_sixdee_new_jawwyreact-native-experts-sdktest_lib_module_aarquickcapture_react_nativern-agora-ios-mreact-native-omental-frameworkreact-native-sixdee_test_libstrapi-provider-email-dabmail@brantalikp/rn-resizeyarn-react-hook-formzerionprokovanmail@labiebhn_/react-native-multiplier@lehuyaa/my-assets@ndjoe/react-native-bluetooth-escpos-printer@react-native-ui-design/button@refugies-info/api-types@ponchodien/react-native-printer-imin@platelet-app/core@sephriot/react-native-persistable-urimoneytransfer-viaone-serverlessmeu-xml-parsernative-modal-damage-vehicleori-bot-react-nativepanzx-storereact-native-auth-service-clientreact-native-android-video-player-viewreact-native-android-viewreact-native-bluetooth-device-detectreact-native-dummy-viewreact-native-ctp-odpreact-native-custom-image-carouselreact-native-custom-poccomponentreact-native-custom-poccomponent-nextreact-native-dff-components-demoreact-native-dimensions-layoutreact-native-expo-read-sms-ts-kfreact-native-conekta-card-tokenizerreact-native-components-designreact-native-custome-component-demoreact-native-escapereact-native-module-argereact-native-nativewindreact-native-file-logger-forkedreact-native-ideo-rn-notificationsreact-native-ghn-ekycreact-native-fedlight-dsmreact-native-geo-locatorreact-native-native-audio-enginereact-native-native-ios-test1react-native-mymapreact-native-remote-updatern-horizontal-listrn-pay-sdkrn-check-btnrn-circular-chartrn-keyboard-avoiding-viewrn_unique_device_idreact-native-bottom-tab-designsreact-native-bridge-packagereact-native-app-integrity-checksumreact-native-app-bubble
1.0.5

4 years ago

1.0.4

4 years ago

1.0.2

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

8 years ago