About varocarbas.com


About me


Contact me


Visit customsolvers.com, my main website


Valid markup


Valid CSS


© 2015-2018 Alvaro Carballo Garcia


URL friendly


Optimised for 1920x1080 - Proudly mobile unfriendly

All projects in full-screen mode


Project 10

Project 9

Project 8

FlexibleParser code analysis:




Chromatic encryption

(v. 1.3)

Pages in customsolvers.com:

Upcoming additions

Failed projects

Active crawling bots:

Ranking type 2


FlexibleParser raw data:

Unit conversion (UnitParser)

Compound types (UnitParser)

Timezones (DateParser)

Currently active or soon to be updated:

Domain ranking

Project 10 is expected to be the last formal project of varocarbas.com. I will continue using this site as my main self-promotional R&D-focused online resource, but by relying on other more adequate formats like domain ranking.
Note that the last versions of all the successfully completed projects (5 to 10) will always be available.
Completed (24 days)
Completed (57 days)
Completed (26 days)
Completed (47 days)
Completed (19 days)
Completed (14 days)

Introduction >

DateParser Code (.NET/C#) >

NumberParser code (.NET/C#) >
Similarly to what happens with NumberO, NumberP also includes some extensions to the basic NumberX functionalities (which already allow to account for non-natively-supported scenarios like NumberP numberP = new NumberP("12345e6789");). All the code dealing with its specific functionalities is stored in Constructors_NumberP.cs and in the files inside the NumberP folder.

NumberP parses string inputs into numeric types, what explains its two additional public properties:
  • OriginalString. A string variable displaying the input being parsed.
  • Config. Its underlying ParseConfig defines the configuration of the given parsing process.
ParseConfig includes two public fields which are very descriptive of what NumberP can deliver.
  • Target. A (numeric) Type variable eventually (it might be left blank) defining the target format, as determined by the property below.
  • ParseType. The ParseTypes enum lists the special parsing conditions supported by NumberP, namely:
    • Parsing only to Target. Inputs outside the range of the associated native type trigger an error.
      For example, the input "123456" with byte as Target would be wrong. Bear in mind that the default NumberP behaviour is to pass the overflowing information to BaseTenExponent and, consequently, those inputs would output 123*10^3.
    • Strictly parsing thousands separators. The .NET native Parse/TryParse methods supporting thousands separators don't care about their positions (e.g., decimal.Parse("1,0,,00", CultureInfo.InvariantCulture) doesn't trigger any error), a curious reality which is addressed by this format.
      Additionally, NumberP supports blank spaces (100 000) and two further grouping approaches: Indian (10,00,000) and Chinese (100,0000).