Print

Print


#include <oxstd.h>

main()
{
	decl s = "npi4", sx = "npi412_s", i1, i2, i3;

	// translate character '4' to integer 4
	println(s[3] - '0');
	// read the integer at position 3
	sscan(s[3:], "%d", &i1);
	println("i1=", i1);
	// read the integer after "npi"
	sscan(s, "npi", "%d", &i2);
	println("i2=", i2);
	// read the integer at position 3 of sx
	sscan(sx[3:], "%d", &i3);
	println("i3=", i3);
}
prints:
4
i1=4
i2=4
i3=412

oxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxox
oxoxoxox 5th OxMetrics user conference 2007
oxoxoxox Cass Business School, London
oxoxoxox 20-21 September 2007
oxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxox
Dr Jurgen A Doornik
Nuffield College, Oxford OX1 1NF, UK
tel. UK: +44-1865-278610    fax  +44-1865-278621
http://www.doornik.com
http://www.oxmetrics.net
oxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxox


Vincent Nijs wrote:
> Hi,
> 
> If I have a string such as 'npi4'. How do I get the '4' out of it and into a
> matrix?
> 
> I tried x[0][0] = s[3] where x is the storage matrix and s is the string
> 'npi4' but this stores 42. If I use x[0][0] = string(s[3]) the character is
> correct but the value won't get stored in the matrix since it is a string.
> 
> What about 'npi412_s'? How get '412' out of that string as an int?
> 
> Any ideas? Thanks.
> 
> Vincent
>