Forum: Bestämma antalet decimaler i c++

Forum huvudsida -> Programmering -> Bestämma antalet decimaler i c++

Sidor: 1

Till botten

Lullen 23:03 - 8:e November 2009 | Post #1
Medlem
Inlägg: 9


Skicka PM
Hejsan!

Jag är väldigt ny inom det här med programmering, och jag har nyligen gått igenom eran guide här på blinken.

Nu är det så här att jag håller på att skriva en miniräknare som ska kunna räkna ut lite allt möjligt, men jag har ett problem. Finns det något sätt att få programmet att inte avrunda irrationella, eller oändliga tal till heltal utan få det att skriva ut ett bestämt antal av decimalerna?

Tack på förhand!

/Tim




Vitdom 21:35 - 9:e November 2009 | Post #2
Medlem
Inlägg: 71


Skicka PM
ios_base::precision
http://www.cplusplus.com/reference/iostream/ios_base/precision/

streamsize precision ( streamsize prec );


ex.
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main ()
  6. {
  7. const double PI = 3.14159;
  8.  
  9. cout.precision(3);
  10. cout << PI << endl;
  11. cout.precision(9);
  12. cout << PI << endl;
  13. }


3.14
3.14159


(obs. normalinställningen är att den skriver ut alla decimaler tills att det bara finns 0:or kvar eller att precision är nått.)

-------------------------



Senast redigerad 21:37 - 9:e November 2009


Lullen 02:31 - 10:e November 2009 | Post #3
Medlem
Inlägg: 9


Skicka PM
skulle du kunna utveckla lite mer vad de olika kommandona gör, så att jag vet hur jag kan tillämpa dom? Är som sagt rätt så ny på det här med programmering...

vad är skillnaden mellan att deklarera(?) variabeln 'PI' med 'const'?

Och vad gör raden :
cout.precision(3);
?

här har ni för övrigt koden så ni kan se lite mer hur jag vill tillämpa det...

http://pastebin.com/m59c489de

(jag vet att den inte är så vacker...)




Lullen 17:57 - 10:e November 2009 | Post #4
Medlem
Inlägg: 9


Skicka PM
Nice, nu kan jag få till det i ett program där det bara finns en funktion...
Är det möjligt att göra även om man har flera?
Och isåf hur? Jag har försökt att skriva in raden
cout.precision(3);
både i main och i den separata funktionen, men utan resultatSmiley
Tack på förhand
/Tim




Omega 20:22 - 10:e November 2009 | Post #5
Medlem
Inlägg: 42


Skicka PM
Ändra

int rakne(double tal_1, double tal_2, char tecken);
till
double rakne(double tal_1, double tal_2, char tecken);

och

int rakne(double tal_1, double tal_2, char tecken)
till
double rakne(double tal_1, double tal_2, char tecken)

Så ökar chanserna att få ett riktigt svar markant.

Har du returtypen int tappar du decimalerna då värdet som returneras först konverteras till returtypen innan returen sker.

-------------------------
Fall omkull sju gånger och res dig upp åtta.



Lullen 21:49 - 10:e November 2009 | Post #6
Medlem
Inlägg: 9


Skicka PM
Jaha, jag visste inte att man kunde deklarera funktioner med double. Det förklarar ju alla varningar jag fått där det stod: converting double to int.

tusen tack, ska sätta mig och ändra nu på en gång!Smiley

edit/

Yay, nu funkar det som det ska! Tack så mycket för hjälpen!


Senast redigerad 21:57 - 10:e November 2009


Sidor: 1

Forum huvudsida -> Programmering -> Bestämma antalet decimaler i c++
Atom feed

Du får inte posta i den här tråden | Till toppen