Świąteczny konkurs PC Format zakończony. Zwycięzcy zostali wyłonieni. Zainteresowanych zapraszamy do NEWSA.


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

[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
  Wyszukuje wszystkie dzielniki danej liczby n które są liczbami pierwszymi soul1648 2 1083 21.03.2017, 20:55
Ostatni post: soul1648
  SPOJ Liczby pierwsze piotr92 11 8496 22.06.2016, 11:11
Ostatni post: aht
  liczba cyfr w liczbie ser-x7 2 4487 01.03.2016, 01:15
Ostatni post: ser-x7

Skocz do:


Wybrane wątki ([c++]Liczenie liczby cyfr po przecinku)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [C] problem z kodem "wyświetlanie gwiazdek" mdb 2 2730 29.10.2016 20:14
Ostatni post: mdb
  Jak zrobić indeks górny w Codeblocksie? Szymeg 1 2607 29.10.2016 08:31
Ostatni post: Szachista
  Zmiana koloru składni w Visual Studio 2015 rafineria888 0 2703 24.10.2016 11:41
Ostatni post: rafineria888
  Import i eksport bazy w formacie bin (Lazarus) Chudy2000 0 2597 23.10.2016 14:16
Ostatni post: Chudy2000
Big Grin W jakich językach pisze się programy na Telefon ? Kamyyk96 7 4011 21.10.2016 14:46
Ostatni post: patrickkrk
  dev pascal, problem z funkcją kwadratową Sentinel24 4 3137 21.10.2016 11:20
Ostatni post: koneton
  Shrink sql,a korzystanie pracowników z bazy Cixi 0 2179 18.10.2016 20:33
Ostatni post: Cixi
  [Java] ConflictingBeanDefinitionException - dwie klasy o tej samej nazwie Mordrak 4 3240 12.10.2016 21:24
Ostatni post: Mordrak
  Problem z makefile.win w Dev C++ jeziru 0 2686 12.10.2016 17:17
Ostatni post: jeziru
  Schematy/Algorytmy/Java prykeslon 4 3151 05.10.2016 16:28
Ostatni post: aht
  Jak nazywa się taki rodzaj ataku na bazę danych? anarhak 0 2376 02.10.2016 23:08
Ostatni post: anarhak
  [Java] zapisywanie strony internetowej do tablicy/listy off-line 2 3049 26.09.2016 10:54
Ostatni post: off-line
  [Java] Implementacja listy jednokierunkowej (problem przy dodawaniu). Chudy2000 3 3393 28.08.2016 12:33
Ostatni post: sh0cker
  [Java] sortowanie/usunięcie wpisu z samemu zrobionej listy jednokierunkowej off-line 3 1010 28.08.2016 11:32
Ostatni post: sh0cker
  Problem z wywołaniem folderu w batchu Ksionszek 3 3009 27.08.2016 16:30
Ostatni post: Ajgor