Converting Hex string "0x001C" to long

jicman cabrera_ at _wrc.xerox.com
Sat Oct 20 18:10:13 PDT 2007


jicman Wrote:

> Greetings.
> 
> I am working with a Windows COM program and I am getting a hex string like this, "0x001C", and I would like to change it to a long.  I tried a few things, but std.conv conversion is failing.
> 
> Any help would be greatly appreciated?
> 
> thanks,
> 
> josé

found this,

http://www.digitalmars.com/d/archives/digitalmars/D/learn/read_Hexadecimal_value_from_string_8632.html#N8633

import std.string, std.stdio;
import std.c.stdlib;

long hexToLong(string s)
{
	long v = strtoul(toStringz(s), null, 16);
	if (getErrno() == ERANGE) throw new Exception("Out of range");
	return v;
}

void main()
{
	writefln("%d",hexToLong("0xC"));
}


More information about the Digitalmars-d-learn mailing list