Liczba dziesiętna [wypisanie bez zera]

0

Witam

Mam takie pytanko, mam liczbę 0.1234 lub też -0.1234. Co muszę zrobić żeby po pobraniu tej liczby wypisywało mi .1234 i -.1234, ma usunąć zero.

Dzięki

0

pobierz ją jako napis (string, tablicę charów itp) i usuń pierwszy (zerowy) znak ew nie wyświetlaj go.

0

zamień na stringa i w stringu szukaj kropki. Nie znalazłem nic o tym by się dało tak formatować tekst printfem czy coutem jak byś chciał

 
#include <iostream>
#include <string>

using namespace std;

int main()
{
    string zmienna = "3.14159";
    cout << zmienna.c_str() + zmienna.find(".");
}

tylko musisz mieć pewność że ta kropka występuje. Jeżeli nie wiesz to musisz najpierw to sprawdzić wcześniej przed wyświetleniem

0
 
 char s[10];
  float val = 0.23;
  if ( val < 0 && val > -1)
    {
      sprintf(s, "%f", -val);

      s[0] = '-';
    }
  else
    sprintf(s, "%f", val);

  printf("%s", (s[0] == '0' && val >= 0 ? s + 1 : s ));

1 użytkowników online, w tym zalogowanych: 0, gości: 1