int			my_getnbr_base(char *str, char *base)
{
  int			result;
  int			i;
  int			len;
  char			sign;

  i = 0;
  result = 0;
  sign ='+';
  if (str && base)
    {
      len = my_strlen(base);
      check_sign(str, len, base);
      if (str[i] == '-' || str[i] == '+')
	sign = sign_base(str, &i);
      if (check_base(str[i], base) == -1)
	return (-1);
      result = calc_nbr(str, i, base, len);
      if (sign == '-')
	result = -result;
      return (result);
    }
  else
    return (-1);
}
Beispiel #2
0
int		my_getnbr_base(char *nbr, char *base)
{
  int		less_c;
  int		i;
  int		isneg;
  int		c;

  i = 0;
  isneg = 0;
  less_c = 0;
  while ((nbr[i] == '+' || nbr[i] == '-') && nbr[i] != 0)
    {
      if (nbr[i] == '-')
	++less_c;
      ++i;
    }
  if (less_c % 2 == 1)
    isneg = 1;
  c = calc_nbr(nbr, i, base);
  if (isneg)
    c = -c;
  return (c);
}