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 result;
}
```
-Steve