Gå til innhold

Float skal bare ha 2 desimaler.


Anbefalte innlegg

Skrevet (endret)

*Problem 1 løst*

 

hvordan begrenser jeg en float til å ha bare to desimaler?

litt for lat til å slå det opp..

Endret av bugbear
Videoannonse
Annonse
Skrevet

struct resultat
{
 int minutter;
 int sekunder;
 int hundredeler;
 resultat(float src)
 {
   int val = (int)src;
   minutter = val / 60;
   sekunder = val % 60;
   hundredeler = (int) ((src - (float)val) * 100);
 }  
 operator float()
 {
   return (minutter * 60) + sekunder + (hundredeler / 100);
 }
};

Sånn mener du?

Skrevet
struct resultat
{
 int minutter;
 int sekunder;
 int hundredeler;
 resultat(float src)
 {
   int val = (int)src;
   minutter = val / 60;
   sekunder = val % 60;
   hundredeler = (int) ((src - (float)val) * 100);
 }  
 operator float()
 {
   return (minutter * 60) + sekunder + (hundredeler / 100);
 }
};

Sånn mener du?

5000065[/snapback]

 

takker, men ble nok litt komplisert for meg:D men trur jeg skjønte hva jeg skulle gjøre nå hvertfall:D

Skrevet
cout.setf(ios::fixed, ios::floatfield);

cout.precision(2);

5034070[/snapback]

 

Floaten får vel ikke noen færre desimaler av dette, den bare ikke printer alle desimalene.

Skrevet (endret)

hva er forskjellen? - men å runde av er "en forskjell", om det er det vi snakker om her

 

#include <iostream>
#include <cmath>

using namespace std;


int main()
{
 cout << M_PI << endl;
 cout.setf(ios::fixed, ios::floatfield);
 cout.precision(4);
 cout << M_PI << endl;

 return 0;
}

 

3.14159

3.1416

Endret av dayslepr

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...