ft_nbrlen.c 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* ft_cptnbr.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2016/02/12 17:36:08 by bchanot #+# #+# */
  9. /* Updated: 2016/05/23 15:43:27 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #include "libft.h"
  13. int ft_nbrlen(long long int nb)
  14. {
  15. int size;
  16. size = (nb < 0 ? 1 : 0);
  17. while ((nb = nb / 10))
  18. size++;
  19. size++;
  20. return (size);
  21. }
  22. int ft_nbrlonglen(long long int nb)
  23. {
  24. int size;
  25. size = 0;
  26. if (nb < 0)
  27. {
  28. if (nb == -9223372036854775807 - 1)
  29. return (20);
  30. nb = -nb;
  31. size = ft_nbrlonglen(nb);
  32. size++;
  33. }
  34. else if (nb >= 10)
  35. {
  36. size = ft_nbrlonglen(nb / 10);
  37. size++;
  38. }
  39. else
  40. size++;
  41. return (size);
  42. }
  43. int ft_nbrlgulen(long long unsigned int nb)
  44. {
  45. int size;
  46. size = 0;
  47. if (nb >= 10)
  48. {
  49. size = ft_nbrlgulen(nb / 10);
  50. size++;
  51. }
  52. else
  53. size++;
  54. return (size);
  55. }
  56. int ft_nbrulen(unsigned int nb)
  57. {
  58. int size;
  59. size = 0;
  60. if (nb >= 10)
  61. {
  62. size = ft_nbrulen(nb / 10);
  63. size++;
  64. }
  65. else
  66. size++;
  67. return (size);
  68. }