 |
Changeset 3251
- Timestamp:
- 02/23/08 00:00:56
(10 months ago)
- Author:
- kris
- Message:
added radix support to atoi/itoa. Fixes #906
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r3162 |
r3251 |
|
| 466 | 466 | ******************************************************************************/ |
|---|
| 467 | 467 | |
|---|
| 468 | | uint atoi(T) (T[] s) |
|---|
| | 468 | uint atoi(T) (T[] s, int radix = 10) |
|---|
| 469 | 469 | { |
|---|
| 470 | 470 | uint value; |
|---|
| … | … | |
| 472 | 472 | foreach (c; s) |
|---|
| 473 | 473 | if (c >= '0' && c <= '9') |
|---|
| 474 | | value = value * 10 + (c - '0'); |
|---|
| | 474 | value = value * radix + (c - '0'); |
|---|
| 475 | 475 | else |
|---|
| 476 | 476 | break; |
|---|
| … | … | |
| 489 | 489 | ******************************************************************************/ |
|---|
| 490 | 490 | |
|---|
| 491 | | T[] itoa(T, U=uint) (T[] output, U value) |
|---|
| 492 | | {return itoa!(T)(output, value);} |
|---|
| 493 | | |
|---|
| 494 | | T[] itoa(T) (T[] output, uint value) |
|---|
| | 491 | T[] itoa(T, U=uint) (T[] output, U value, int radix = 10) |
|---|
| | 492 | {return itoa!(T)(output, value, radix);} |
|---|
| | 493 | |
|---|
| | 494 | T[] itoa(T) (T[] output, uint value, int radix = 10) |
|---|
| 495 | 495 | { |
|---|
| 496 | 496 | T* p = output.ptr + output.length; |
|---|
| 497 | 497 | |
|---|
| 498 | 498 | do { |
|---|
| 499 | | *--p = value % 10 + '0'; |
|---|
| 500 | | } while (value /= 10); |
|---|
| | 499 | *--p = value % radix + '0'; |
|---|
| | 500 | } while (value /= radix); |
|---|
| 501 | 501 | return output[p-output.ptr .. $]; |
|---|
| 502 | 502 | } |
|---|
Download in other formats:
|
 |
 |
|
 |
Copyright © 2006-2008 Tango. All Rights Reserved. | Page Width:
Static or
Dynamic