BetterC, int to string?
Steven Schveighoffer
schveiguy at gmail.com
Fri Jun 18 13:58:28 UTC 2021
On 6/18/21 9:46 AM, Steven Schveighoffer wrote:
> On 6/18/21 5:05 AM, Mike Brown wrote:
>> Hi all,
>>
>> I would like to convert a D string to an int - im doing this in a
>> compile time function as well. conv throws an error due to it using
>> TypeInfo?
>>
>> How would I do this?
>
> std.conv.to really should support it, that seems like a bug.
>
> But just FYI, doing string-to-int conversions is pretty easy (this
> doesn't handle overflow, but you can use core.checkedint to deal with it
> if necessary):
>
> ```d
> int parseInt(string s) nothrow @safe @nogc
> {
> bool isNeg = false;
> assert(s.length > 0);
> if(s[0] == '-') {isNeg = true; s = s[1 .. $];}
> int result = 0;
> foreach(c; s) {
> assert(c >= '0' && c <= '9');
> result = result * 10 + (c - '0');
> }
return isNeg ? -result : result;
> }
> ```
More information about the Digitalmars-d-learn
mailing list