ver 2

13 + /* wrong : parse str into c before bits in str is cheked*/
/* After str is sure to be in  /^[-]{0,1}[0-9]{1,}$/ */
/*  str is not parsed to integer c until str is cheked  */