+ 2

If (a) is not an integer how can i do that with c++

27th Dec 2019, 10:00 PM
Kuchiki
Kuchiki - avatar
3 ответов
+ 2
Compare the (a) to a dummy int. Because the the typeid name() is "library implementation dependent", (my code::blocks return an 'i'), this how I manged to get round it (I can't remember why I needed to do it now). int dummyInt; int myint = 50; if(typeid(dummyInt).name() == typeid(myint).name()) cout << myint << " is an int";
27th Dec 2019, 10:26 PM
rodwynnejones
rodwynnejones - avatar
+ 2
Why would you ever need to do this though, unless you're working with templates? ( in which case there are much better ways of doing this ) It's not like int myint; can suddenly change its type to a float. This is not javascript. It is, and will always be, an int. In case a is a string, this is not the way of doing things. Parse it and check if it contains 1 dot or a comma depending on the country, for a floating point or for any non digit character, in that case.
27th Dec 2019, 11:21 PM
Dennis
Dennis - avatar
+ 1
This link has some information about how to find the type of a variable: https://stackoverflow.com/questions/11310898/how-do-i-get-the-type-of-a-variable
27th Dec 2019, 10:09 PM
CeePlusPlus
CeePlusPlus - avatar