mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
fixes #23513 Also, the old `runnableExample` is just a copy of `proc parseInt(openArray[char], var int, int)` variant (in Line 1000). --------- Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
This commit is contained in:
@@ -460,6 +460,8 @@ proc parseBiggestInt*(s: openArray[char], number: var BiggestInt): int {.
|
||||
var res: BiggestInt
|
||||
doAssert parseBiggestInt("9223372036854775807", res) == 19
|
||||
doAssert res == 9223372036854775807
|
||||
doAssert parseBiggestInt("-2024_05_09", res) == 11
|
||||
doAssert res == -20240509
|
||||
var res = BiggestInt(0)
|
||||
# use 'res' for exception safety (don't write to 'number' in case of an
|
||||
# overflow exception):
|
||||
@@ -474,10 +476,8 @@ proc parseInt*(s: openArray[char], number: var int): int {.
|
||||
## `ValueError` is raised if the parsed integer is out of the valid range.
|
||||
runnableExamples:
|
||||
var res: int
|
||||
doAssert parseInt("2019", res, 0) == 4
|
||||
doAssert res == 2019
|
||||
doAssert parseInt("2019", res, 2) == 2
|
||||
doAssert res == 19
|
||||
doAssert parseInt("-2024_05_02", res) == 11
|
||||
doAssert res == -20240502
|
||||
var res = BiggestInt(0)
|
||||
result = parseBiggestInt(s, res)
|
||||
when sizeof(int) <= 4:
|
||||
@@ -992,6 +992,10 @@ proc parseBiggestInt*(s: string, number: var BiggestInt, start = 0): int {.noSid
|
||||
var res: BiggestInt
|
||||
doAssert parseBiggestInt("9223372036854775807", res, 0) == 19
|
||||
doAssert res == 9223372036854775807
|
||||
doAssert parseBiggestInt("-2024_05_09", res) == 11
|
||||
doAssert res == -20240509
|
||||
doAssert parseBiggestInt("-2024_05_02", res, 7) == 4
|
||||
doAssert res == 502
|
||||
parseBiggestInt(s.toOpenArray(start, s.high), number)
|
||||
|
||||
proc parseInt*(s: string, number: var int, start = 0): int {.noSideEffect, raises: [ValueError].} =
|
||||
@@ -1000,10 +1004,10 @@ proc parseInt*(s: string, number: var int, start = 0): int {.noSideEffect, raise
|
||||
## `ValueError` is raised if the parsed integer is out of the valid range.
|
||||
runnableExamples:
|
||||
var res: int
|
||||
doAssert parseInt("2019", res, 0) == 4
|
||||
doAssert res == 2019
|
||||
doAssert parseInt("2019", res, 2) == 2
|
||||
doAssert res == 19
|
||||
doAssert parseInt("-2024_05_02", res) == 11
|
||||
doAssert res == -20240502
|
||||
doAssert parseInt("-2024_05_02", res, 7) == 4
|
||||
doAssert res == 502
|
||||
parseInt(s.toOpenArray(start, s.high), number)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user