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-react@cs6/react-native-test-native-view-libraryjeuxuijesh-calculationjordy-frijters-test-libjawwy_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@assystant/firebase@aviinash_jha/react-native-test_multiply@ali5049/react-native-buttons@ajaykewat/myboilerplate@aws-amplify/data-construct@aws-amplify/graphql-api-construct@aysea/react-native-ui-library@brantalikp/rn-resize@adatechnology/react-native-android-getnet-pos@aaxis/fast-xml-parser@darren-valent/cdk-ec2-key-pairyarn-react-hook-formzerionprokovanmail@fintalk.ai/dynamodb-wrapper@footage.one/fast-xml-parser@idas1/ui-component-lib@edwinpb/scany@labiebhn_/react-native-multiplier@lehuyaa/my-assets@ndjoe/react-native-bluetooth-escpos-printer@extrieve_technologies/quickcapture_react_native@react-native-ui-design/button@refugies-info/api-types@ponchodien/react-native-printer-imin@npm_fluentco/adflow-react-native-sdk@platelet-app/core@sephriot/react-native-persistable-uri@sridharetikala/react-native-rn-lib-custom-componentsmoneytransfer-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-designs
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