Wystartował świąteczny konkurs PC Format! Zainteresowanych zapraszamy do TEMATU .

Odpowiedz 

[c++]Liczenie liczby cyfr po przecinku

Autor Wiadomość
Kazer Offline
Nowy użytkownik
*

Liczba postów: 11
Dołączył: XII 2013
Poziom ostrzeżeń: 0%
Post: #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.
12 grudzień 2013 15:08
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post  System operacyjny: windows_seven Przeglądarka: firefox
Ogłoszenie


Link sponsorowany
koneton Offline
Prowadzący
Prowadzący

Liczba postów: 3272
Dołączył: II 2010
Post: #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.
12 grudzień 2013 15:46
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post  System operacyjny: windows_seven Przeglądarka: firefox
Kazer Offline
Nowy użytkownik
*

Liczba postów: 11
Dołączył: XII 2013
Poziom ostrzeżeń: 0%
Post: #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 ?
12 grudzień 2013 16:08
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post  System operacyjny: windows_seven Przeglądarka: firefox
Rincewind Offline
_/ Digital Shadow \_
Prowadzący

Liczba postów: 5782
Dołączył: VIII 2009
Post: #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]
(Ten post był ostatnio modyfikowany: 12 grudzień 2013 16:24 przez Rincewind.)
12 grudzień 2013 16:22
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post  System operacyjny: windows_seven Przeglądarka: firefox
Ogłoszenie


Link sponsorowany
koneton Offline
Prowadzący
Prowadzący

Liczba postów: 3272
Dołączył: II 2010
Post: #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).
12 grudzień 2013 16:44
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post  System operacyjny: windows_seven Przeglądarka: firefox
Kazer Offline
Nowy użytkownik
*

Liczba postów: 11
Dołączył: XII 2013
Poziom ostrzeżeń: 0%
Post: #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 ?
12 grudzień 2013 16:53
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post  System operacyjny: windows_seven Przeglądarka: firefox
Rincewind Offline
_/ Digital Shadow \_
Prowadzący

Liczba postów: 5782
Dołączył: VIII 2009
Post: #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]
12 grudzień 2013 17:02
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post  System operacyjny: windows_seven Przeglądarka: firefox
Kazer Offline
Nowy użytkownik
*

Liczba postów: 11
Dołączył: XII 2013
Poziom ostrzeżeń: 0%
Post: #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
(Ten post był ostatnio modyfikowany: 12 grudzień 2013 18:51 przez Kazer.)
12 grudzień 2013 17:38
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post  System operacyjny: windows_seven Przeglądarka: firefox
Szachista Offline
Prowadzący
Prowadzący

Liczba postów: 1961
Dołączył: XI 2007
Post: #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.
12 grudzień 2013 19:47
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post  System operacyjny: linux_ubuntu Przeglądarka: firefox
Kazer Offline
Nowy użytkownik
*

Liczba postów: 11
Dołączył: XII 2013
Poziom ostrzeżeń: 0%
Post: #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ż.
(Ten post był ostatnio modyfikowany: 12 grudzień 2013 21:44 przez Kazer.)
12 grudzień 2013 20:47
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post  System operacyjny: windows_seven Przeglądarka: firefox
Programy: Polecane / Nowe / Inne

Odpowiedz 

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 liczby miejsc po przecinkuObliczanie cyfry po przecinkupodaj liczbę na miejscu po przecinku trzynasta cyfra po przecinku liczby 3,15

Podobne wątki ([c++]Liczenie liczby cyfr po przecinku)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Liczenie operacji w kodzie [C] mateush998 3 735 23 marzec 2014 10:34
Ostatni post: Szachista
  Liczenie zapełnionych linii w pliku tekstowym C# kazik1899 1 1336 4 grudzień 2013 08:21
Ostatni post: msartin
  [C++] Dla wczytanej z klawiatury liczby naturalnej wypisuje ilość cyfr tej liczby Erdo 3 2370 6 listopad 2012 15:37
Ostatni post: Erdo



Skocz do:


Wybrane wątki ([c++]Liczenie liczby cyfr po przecinku)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [C++] String w Visualu 2012 Wyskakuje błąd cytuję: "IntelliSense: no operator "<<" matches these operands operand types normals522 2 1095 3 kwiecień 2014 13:35
Ostatni post: normals522
  [Java] Graphics2D kolor do konstruktora FunkYoSelf 3 776 3 kwiecień 2014 13:11
Ostatni post: koneton
  C++ Program który wpisuje do pliku darius1230 3 1068 2 kwiecień 2014 22:37
Ostatni post: JimForce
  [Visual c++ basic 2010] Co jest źle? program kalkulator spedeer2007 2 931 2 kwiecień 2014 13:55
Ostatni post: spedeer2007
  wykrywanie i śledzenie obiektu z kamerki internetowej dawid653 12 1860 2 kwiecień 2014 08:24
Ostatni post: dawid653
  Visual Studio Express 2013 for Windows Desktop - zapisywanie Spain2010 0 857 31 marzec 2014 18:41
Ostatni post: Spain2010
  [Java] Kodowania Stringa - w jaki sposób zabezpieczyć klucz? Rincewind 0 666 31 marzec 2014 16:53
Ostatni post: Rincewind
  Bity kontrolne w kodzie Hamminga kokos22 1 786 31 marzec 2014 13:24
Ostatni post: Szachista
Ściana Acces 2003-VB [ 2 problemy] Shade 0 710 31 marzec 2014 13:14
Ostatni post: Shade
  Java książka do matury zero linetsu 3 854 30 marzec 2014 22:20
Ostatni post: Rincewind
Sad Książka C#. Spiker101 11 1754 30 marzec 2014 03:26
Ostatni post: Rincewind
  C++ problem z cin.getline. Zadeklarowanie rozmiar tekstu Trojan3000 6 756 29 marzec 2014 10:55
Ostatni post: Trojan3000
  [C++] Odbijający się panel od krawędzi formy misio1995 3 749 28 marzec 2014 22:24
Ostatni post: Szachista
Question [Java] Błędna data GregorianCalendar FunkYoSelf 4 713 28 marzec 2014 11:52
Ostatni post: koneton
  1KB game challenge (wyzwanie, napisz grę na 1KB) mati_94_000 17 2015 27 marzec 2014 23:32
Ostatni post: mati_94_000