Liczba dziesiętna [wypisanie bez zera]

Liczba dziesiętna [wypisanie bez zera]
  • Rejestracja: dni
  • Ostatnio: dni
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

SI
  • Rejestracja: dni
  • Ostatnio: dni
0

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

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
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ł

Kopiuj
 
#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

Loganek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 268
0
Kopiuj
 
 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 ));

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.