Разбить число на отдельные числа и поместить в разные переменные

Тема в разделе "Arduino & Shields", создана пользователем Максим B, 26 янв 2016.

  1. Максим B

    Максим B Гуру

    Всем привет. В общем имеем число -25.05 тип float. Как из него выделить в отдельные переменные значения:
    дано: -25.05
    На выходе: n=-2;
    n1=5;
    Вывод точки
    n2=0;
    n3=5;

    Я попробовал так - не получилось (
    Код (Text):

         float n,n1,n2,n3,n4;
         n=temperature(data);
         n1=n/10;
         n2=n/100;
         n3=n/1000;
         n4=n/10000;
         printDigits(n1,0);
         printDigits(n2,4);
         printDigits(n3,8);
         printDigits(n4,12);
     
     
  2. Sindbad

    Sindbad Гик

    Переведите число в целочисленное
    Код (C++):
    int tmp = int(abs(n * 100));
    и разбирайте на части:
    Код (C++):
    int n1 = ( tmp / 100 ) % 10 ;
     
    Максим B нравится это.
  3. Joy

    Joy Нерд

    Код (C++):

      float n = -25.05;
      String s = String(n, 2);
      int i = s.indexOf('.');
      if (i >= 0) s.remove(i, 1);
      bool b = n < 0;
      if (b) s.remove(0, 1);
      int n1 = s.substring(0, 1).toInt();
      if (b) n1 *= -1;
      int n2 = s.substring(1, 2).toInt();
      int n3 = s.substring(2, 3).toInt();
      int n4 = s.substring(3).toInt();
     
    Максим B нравится это.
  4. Максим B

    Максим B Гуру

    Спасибо, обязательно попробую.
     
  5. Максим B

    Максим B Гуру

    В IDE 1.6.3 скомпилилось