Znamy już zwycięzców świątecznego konkursu PC Format. Zainteresowanych zapraszamy do odpowiedniego TEMATU

[c++]Liczenie liczby cyfr po przecinku

#1
[c++]Liczenie liczby cyfr po przecinku
Witam,
mam pytanie, czy jest jakiś sposób na policzenie liczby cyfr po przecinku ? np. 13,3324 4 miejsca, 0.003 3 miejsca.
 System operacyjny: windows_seven Przeglądarka: firefox
#2
RE: [c++]Liczenie liczby cyfr po przecinku
Zakładając, że liczba przechowywana jest jako ciąg znaków, to wystarczy znać jego długość i odjąć od niej pozycję na której znajduje się symbol miejsca dziesiętnego.
 System operacyjny: windows_seven Przeglądarka: firefox
#3
RE: [c++]Liczenie liczby cyfr po przecinku
jak zapisać liczbę jako ciag znaków ? W takim ciągu będzie "," jako osoby znak ? np : 32,1304 by było jako " 3 2 , 1 3 0 4" ?

for (i=0;i<ilosc_znakow;i++)
{
if(znak==,)
a=i;
}

ilosc_po_przecinku=ilosc_znakow-a;


tak sie da zrobic ?
 System operacyjny: windows_seven Przeglądarka: firefox
#4
RE: [c++]Liczenie liczby cyfr po przecinku
Coś takiego jest możliwe.
Musisz użyć klasy ostringstream i stworzyć szablon funkcji która zmieni podany typ na string. Szablon nie jest wymagany ale pozwoli na zmianę wszystkich przekazanych argumentów na typ string. Następnie musisz tylko stworzyć pętlę która policzy długość przekazanego wyrażenia, znajdzie kropkę i zacznie liczyć miejsca po przecinku.

Na przyszłość używaj znaczników
Kod PHP:
[code][/code
do zamieszczania kodu źródłowego.
 System operacyjny: windows_seven Przeglądarka: firefox
#5
RE: [c++]Liczenie liczby cyfr po przecinku
Zacznijmy może od tego, co jest na wejściu programu/funkcji. Jeżeli jest to liczba w postaci typu rzeczywistego to masz problem, bo jak wiadomo nie zawsze da się ją przedstawić jednoznacznie (zaokrąglenia).
 System operacyjny: windows_seven Przeglądarka: firefox
#6
RE: [c++]Liczenie liczby cyfr po przecinku
zrobiłem tak (jest to program żeby sprawdzić jak to działa ):

Kod:
#include<iostream>
#include<string>
using namespace std;

int main()
{
string liczba;
int a;
cout << "podaj liczbe" << endl;
cin >> liczba;
cout << liczba.length() << endl;
cout << liczba[3];
a=(int)liczba[3];

if ( a==44)
    cout << "ok " << endl;
system("pause");


}

Program pokazuje długość podanej liczby, jej 4. znak, i jeżeli jest on "," to wyświetla "ok" ( 44 to znak ascii przecinka)

Działa bez zarzutu, ale jeżeli wprowadziłem 3 zmienne typu string to nie moglem dwóch od siebie np. odjąć żeby wyszła 3 ( nie kompilowało się ). czy jest jakiś sposób żeby przeprowadzać obliczenie na zmiennych typu string ?
 System operacyjny: windows_seven Przeglądarka: firefox
#7
RE: [c++]Liczenie liczby cyfr po przecinku
Rzutować je do typu w jakim są przedstawione, wykonać obliczenie i rzutować ponownie do stringa?
 System operacyjny: windows_seven Przeglądarka: firefox
#8
RE: [c++]Liczenie liczby cyfr po przecinku
ok dziękuje wszystkim za pomoc : D

edit:

zrobiłem krótki program, żeby sprawdzic jak sie konwertuje ale nie działa. Program :
Kod:
{
string liczba;
double a;

scanf("%s",liczba);
printf("%s",liczba);

a= atof(liczba.c_str());

cout << a << endl;

system("pause");


}

a zawsze wychodzi 0.

zrobiłem jeszcze prostszy :

Kod:
#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;

int main()
{

int a;
string liczba;

scanf("%i",liczba);

a=atoi(liczba.c_str());

printf("%i",a);

system("pause");

}

i tez nie działa O_O
 System operacyjny: windows_seven Przeglądarka: firefox
#9
RE: [c++]Liczenie liczby cyfr po przecinku
Mamma mia, pisać w C++ i korzystać z funkcji, zamiast ze strumienia Wesoły
Kod:
string n;
double a;
cin >> n;
sscanf(n.c_str(), "%lf", &a); // bądź bardziej elegancko wykorzystując istringstream
cout << a;
Nie odpowiadam na PW, więc proszę nie pisać do mnie.
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#10
RE: [c++]Liczenie liczby cyfr po przecinku
działa, ale nie wyświetla liczb po przecinku np zamiast 342,13 wyświetla 342. Zna ktoś jeszcze jakiś sposób ? I z double na string też.
 System operacyjny: windows_seven Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
jak obliczać liczby po przecinkuzliczanie liczby cyfr argumentu w c++jak obliczyc dzialanie po przecinku?jak obliczac miejsce po przecinku??jak liczy sie jaka cyfra znajduje się na .. miejscu po przecinkuformatowanie do 3 miejsc po przecinku c++dwunasta cyfra po przecinku liczby 2,1ciąg po przecinku do tablicy cc++ nie liczy po przecinkuc++ jak zrobić 9 cyfr

Podobne wątki ([c++]Liczenie liczby cyfr po przecinku)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  liczba cyfr w liczbie ser-x7 2 1964 01.03.2016, 01:15
Ostatni post: ser-x7
  liczby Fibonacciego - C++ Martus 1 1693 16.10.2015, 20:24
Ostatni post: Darekg11
  Określenie liczby porównań if'a w sortowaniu bąbelkowym. Trojan3000 4 1923 03.01.2015, 12:20
Ostatni post: Trojan3000

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Wybrane wątki ([c++]Liczenie liczby cyfr po przecinku)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  edytor baz danych dla oracle orzel111_0 4 2797 23.11.2014 09:47
Ostatni post: orzel111_0
  Szukanie elementu podobnego tablica. Dreamer1x6xX 1 2323 20.11.2014 20:00
Ostatni post: Szachista
  Wypisanie liczb z klawiatury Sentinel 0 2192 20.11.2014 19:27
Ostatni post: Sentinel
  Częstotliwość funkcji MATLAB? Dreamer1x6xX 10 4823 20.11.2014 19:18
Ostatni post: Dreamer1x6xX
  [Matlab] Analiza sygnałów. Dreamer1x6xX 2 3214 20.11.2014 00:08
Ostatni post: Dreamer1x6xX
  Jakim skokiem uwzględnić odjęcie większej liczby od mniejszej.[Assembly] Trojan3000 4 627 19.11.2014 23:48
Ostatni post: Trojan3000
  [C++] Problem z kompilacją kasia2_w11 2 2075 19.11.2014 21:59
Ostatni post: kasia2_w11
  c++ mały problem z odczytywaniem obiektow klas Mordrak 3 2094 18.11.2014 18:02
Ostatni post: Mordrak
  Assembler - błąd przy kompilacji (pierwszy program) chwm 1 2313 17.11.2014 22:03
Ostatni post: fanfilmu
  program konsolowy do sprawdzenia ile miesiąc ma dni - nie działa prawidłowo nonamepoland 3 2347 17.11.2014 21:42
Ostatni post: fanfilmu
  Jak zrobić własne Boot menu ? lolos11 0 2457 17.11.2014 16:32
Ostatni post: lolos11
Question Licencja LGPL 2.1 co mogę a czego nie? mati_94_000 2 2294 15.11.2014 21:01
Ostatni post: mati_94_000
  Jaki projekt może zrealizować początkujący programista? Dreamer1x6xX 8 2834 14.11.2014 23:33
Ostatni post: mati_94_000
  wczytywanie wielu liczb z pliku tekstowego [c++] jokelice 1 2737 12.11.2014 23:08
Ostatni post: Szachista
  Funkcja zwracająca liczbę wyrazów? Dreamer1x6xX 5 2321 12.11.2014 22:30
Ostatni post: Szachista