buskmann Skrevet 28. september 2005 Del Skrevet 28. september 2005 Hvis jeg har en double a = 222.333; hvordan kan jeg da hente ut 333 som en int/long/char[]? Lenke til kommentar
MrLee Skrevet 28. september 2005 Del Skrevet 28. september 2005 (endret) gjøre om til string søke deg frem til komma posisjonen is strengen hente ut tallene bak den uthentede posisjonen inn i en ny streng konvertere den nye strengen til int/long/char...? Endret 28. september 2005 av MrLee Lenke til kommentar
Peter Skrevet 28. september 2005 Del Skrevet 28. september 2005 double a = 222.333; double b = a % 1.0; Kanskje ikke en lekker metode, men tror faktisk det funker double a = 222.333; int t = static_cast<int>(a); double b = a-t; Lenke til kommentar
gogodidi Skrevet 28. september 2005 Del Skrevet 28. september 2005 (endret) hva med int a; double x y;cin >> x; a = int(x); y = x - double(a); cout << y;[code] da får man i alle fall 0.333 [EDIT]Nazgul kom først Endret 28. september 2005 av gogodidi Lenke til kommentar
buskmann Skrevet 28. september 2005 Forfatter Del Skrevet 28. september 2005 (endret) Det dere foreslår er ikke det samme som jeg ønsker. Jeg ønsker desimaldelen som en int, ikke en double. MrLee: Hvordan gjør jeg om tallet til en string (char[])? Jeg har sett på sprintf/printf, men har ikke funnet noe som printer desimaldelen av en double. Endret 28. september 2005 av buskmann Lenke til kommentar
hishadow Skrevet 28. september 2005 Del Skrevet 28. september 2005 (endret) #include <string> #include <sstream> using namespace std; int main(int argc, char* argv[]) { int n; double d = 123.456; string str; stringstream stream_in; stream_in << d; stream_in >> str; stringstream stream_out( str.substr(str.find_first_of('.') + 1) ); stream_out >> n; return 0; } Av MrLee sitt forslag. Alternativt: double a = 222.333; int n = 333; Endret 28. september 2005 av hishadow Lenke til kommentar
MrLee Skrevet 28. september 2005 Del Skrevet 28. september 2005 der har vi det ja. Har ikke mye erfaring med C++, så var ikke bombesikker på den detaljerte fremgangsmåten, men det er jo relativt likt på de fleste språk, og noenganger trenger man bare hint for å få ting til å fungere Lenke til kommentar
buskmann Skrevet 28. september 2005 Forfatter Del Skrevet 28. september 2005 Den fungerer ja, takker. Lenke til kommentar
JBlack Skrevet 29. september 2005 Del Skrevet 29. september 2005 Et problem her er at du ikke definerer hvor mange desimaler du ønsker. Dermed kan man ikke gi noe konsistent svar på oppgaven. Men hvis du alikevel har fått en løsning du er dornøyd med, så er vel alt greit. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå