Znamy już zwycięzców VI edycji konkursu FAQ PC Format. Zainteresowanych odsyłamy 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.
Odpowiedz  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.
Odpowiedz  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 ?
Odpowiedz  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.
Sprawdź nową stronę Rincka!
[Obrazek: 1786769]
Odpowiedz  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).
Odpowiedz  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 ?
Odpowiedz  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?
Sprawdź nową stronę Rincka!
[Obrazek: 1786769]
Odpowiedz  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
Odpowiedz  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.
Odpowiedz  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ż.
Odpowiedz  System operacyjny: windows_seven Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
jak obliczać liczby po przecinku13 cyfr po przecinku to ??jak szukac liczb po przecinku jak szukać cyfry po przecinkujak znalexc miejsce po przecinkujaka cyfra znajduje się na dziesiątym a jaka na dwudziestym miejscu po przecinku jak to zrbicliczenie do trzech miejscach po przecinkuliczenie liczby miejsc po przecinkuObliczanie cyfry po przecinkupodaj liczbę na miejscu po przecinku

Podobne wątki ([c++]Liczenie liczby cyfr po przecinku)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Liczenie operacji w kodzie [C] mateush998 3 1196 23.03.2014, 10:34
Ostatni post: Szachista
  Liczenie zapełnionych linii w pliku tekstowym C# kazik1899 1 2063 04.12.2013, 08:21
Ostatni post: msartin
  [C++] Dla wczytanej z klawiatury liczby naturalnej wypisuje ilość cyfr tej liczby Erdo 3 2848 06.11.2012, 15:37
Ostatni post: Erdo

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
  Tabliczka mnożenia - wyświetlania, formatowanie - jak to zrobić? Dreamer1x6xX 0 997 27.11.2014 13:50
Ostatni post: Dreamer1x6xX
  Garść pytań dotyczących Javy i optymalizacji kodu. aht 7 1376 26.11.2014 23:56
Ostatni post: koneton
  Plik .bat który skopiuje mi "Profili wifi na dysk USB" hubertus323f 1 1149 26.11.2014 22:02
Ostatni post: tomon
  Na czym polega te zadanie [C++]?? Dreamer1x6xX 1 1123 26.11.2014 09:41
Ostatni post: Darekg11
  Bankomat - szybszy algorytm, krótszy kod? Dreamer1x6xX 2 1141 25.11.2014 23:41
Ostatni post: Dreamer1x6xX
  Jak stworzyć paina w c++ builder porady Darowin 1 1102 25.11.2014 22:58
Ostatni post: Szachista
  Funkcja StringOfChar z Pascala w C++? Dreamer1x6xX 2 1177 25.11.2014 22:09
Ostatni post: Dreamer1x6xX
  Co to za typ argumentu funkcji? Dreamer1x6xX 1 863 25.11.2014 20:02
Ostatni post: Szachista
  Wyświetlanie sześciokąta w zależności od długości boku? Dreamer1x6xX 3 1075 25.11.2014 16:28
Ostatni post: Dreamer1x6xX
  Kompresja pliku przez zwinięcie powtarzających się liter. Dreamer1x6xX 18 2573 24.11.2014 22:34
Ostatni post: Dreamer1x6xX
  Visual Studio C#, wykrywanie ładowania baterii/podłaczenia zasilacza Kamil 1 1 1231 24.11.2014 20:42
Ostatni post: Ajgor
  Aplikacja do zmiany MD5 hash z mozliwoscia ustawienia parametrów. hubertus323f 0 424 24.11.2014 17:24
Ostatni post: hubertus323f
  bat - uruchomienie aplikacji w danym folderze (zacznij w folderze) hubertus323f 2 509 23.11.2014 23:30
Ostatni post: hubertus323f
  edytor baz danych dla oracle orzel111_0 4 1414 23.11.2014 09:47
Ostatni post: orzel111_0
  Szukanie elementu podobnego tablica. Dreamer1x6xX 1 1217 20.11.2014 20:00
Ostatni post: Szachista