number_parsing

This shows you the differences between two versions of the page.

Both sides previous revision Previous revision | |||

number_parsing [2017/03/21 16:19] korshun |
number_parsing [2017/03/21 16:28] (current) korshun |
||
---|---|---|---|

Line 1: | Line 1: | ||

====== Number parsing ====== | ====== Number parsing ====== | ||

ACSUtils provides functions to convert strings to numbers. | ACSUtils provides functions to convert strings to numbers. | ||

+ | |||

+ | ===== Bases ===== | ||

+ | The parsed numbers can be written in any base from 2 to 36. In bases over 10, letters of the alphabet are used as digits. | ||

+ | |||

+ | If a base is not explicitly specified or is set to 0, base prefixes can be used: | ||

+ | * ''0x'' – base 16 | ||

+ | * ''0o'' – base 8 | ||

+ | * ''0b'' – base 2 | ||

+ | |||

+ | For example, ''%%"0xFF"%%'' is parsed as 256. | ||

+ | |||

+ | If no base prefix is present, base 10 is used by default | ||

+ | |||

+ | If a base is specified when parsing the number, base prefixes are **not** supported and their presence is treated as error. | ||

+ | |||

+ | ===== Errors ===== | ||

+ | The following errors can happen while parsing a number: | ||

+ | * ''PARSENUMBER_SUCCESS'' -- no error | ||

+ | * ''PARSENUMBER_OVERFLOW'' -- the number is too big to fit into a variable, the result will be either [[constants:INT_MAX]] or [[constants:INT_MIN]]. | ||

+ | * ''PARSENUMBER_BADFORMAT'' - the number could not be parsed at all. | ||

+ | |||

+ | |||

===== Simple functions ===== | ===== Simple functions ===== | ||

Line 22: | Line 44: | ||

Error statuses are: | Error statuses are: | ||

- | * ''PARSENUMBER_SUCCESS'' -- number successfully parsed, you can use the result | + | |

- | * ''PARSENUMBER_OVERFLOW'' -- the number is too big to fit into a variable, the result will be either [[constants:INT_MAX]] or [[constants:INT_MIN]]. | + | |

- | * ''PARSENUMBER_BADFORMAT'' - the number could not be parsed at all. You **may not** use the result. ''r2'' is unchanged. | + | |

==== Examples ==== | ==== Examples ==== | ||

<code> | <code> |

number_parsing.txt · Last modified: 2017/03/21 16:28 by korshun