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

Reply via email to