 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
twom Član


Pridružen-a: Ned 26 Okt 2003 0:37 Prispevkov: 986 Aktiv.: 4.16 Kraj: Ljubljana
|
Objavljeno: Pon Jul 06, 2009 4:26 pm Naslov sporočila: C++ kako pretvoriti string "2/3" v double |
|
|
atof ("2/3") vrne 2.0..., atof ("0.6666666...") pa 0.66...
jaz bi pa rabil bolj 'pametno' fukcijo, ki bi zraven še malo računala
Lep pozdrav,
Peter |
|
Nazaj na vrh |
|
 |
domen_puncer Član

Pridružen-a: Čet 01 Maj 2008 13:30 Prispevkov: 78 Aktiv.: 0.37 Kraj: Ljubljana, Mozirje
|
Objavljeno: Pon Jul 06, 2009 9:34 pm Naslov sporočila: |
|
|
Jo bo treba kar napisati.  _________________ Tiskanje sudoku |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70824.46
|
Objavljeno: Pon Jul 06, 2009 11:40 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
pero Član

Pridružen-a: Sob 02 Avg 2003 10:03 Prispevkov: 145 Aktiv.: 0.61 Kraj: Sevnica
|
Objavljeno: Tor Jul 07, 2009 3:30 pm Naslov sporočila: Re: C++ kako pretvoriti string "2/3" v double |
|
|
peter_nn je napisal/a: |
atof ("2/3") vrne 2.0..., atof ("0.6666666...") pa 0.66...
jaz bi pa rabil bolj 'pametno' fukcijo, ki bi zraven še malo računala
Lep pozdrav,
Peter |
če so vedno ulomki potem nekaj v stilu:
char *str = "2/3";
float val = atof(str)/atof( strchr(str,'/')+1); |
|
Nazaj na vrh |
|
 |
domen_puncer Član

Pridružen-a: Čet 01 Maj 2008 13:30 Prispevkov: 78 Aktiv.: 0.37 Kraj: Ljubljana, Mozirje
|
Objavljeno: Tor Jul 07, 2009 5:35 pm Naslov sporočila: |
|
|
S tem, da ce ne bo '/' v nizu dobis lepi segfault, oz. se kaj hujsega na uC  _________________ Tiskanje sudoku |
|
Nazaj na vrh |
|
 |
pero Član

Pridružen-a: Sob 02 Avg 2003 10:03 Prispevkov: 145 Aktiv.: 0.61 Kraj: Sevnica
|
Objavljeno: Tor Jul 07, 2009 9:53 pm Naslov sporočila: |
|
|
domen_puncer je napisal/a: |
S tem, da ce ne bo '/' v nizu dobis lepi segfault, oz. se kaj hujsega na uC  |
res je  _________________ http://www.modula.si
Open source cc2430 programator http://www.modula.si/cc_flasher |
|
Nazaj na vrh |
|
 |
gregoral Član

Pridružen-a: Pet 24 Nov 2006 9:42 Prispevkov: 688 Aktiv.: 3.04 Kraj: Ljubljana
|
Objavljeno: Pon Jul 27, 2009 8:14 pm Naslov sporočila: 2/3 v double |
|
|
če potrebuješ računanje poljubnih izrazov potem vsekakor potrebuješ expression parser
če pa se lahko zadovoljiš z bolj omejenim izborom, pa sam napiši |
|
Nazaj na vrh |
|
 |
twom Član


Pridružen-a: Ned 26 Okt 2003 0:37 Prispevkov: 986 Aktiv.: 4.16 Kraj: Ljubljana
|
Objavljeno: Pon Jul 27, 2009 11:16 pm Naslov sporočila: |
|
|
Tale odgovor na enem drugem forumu mi je bil najboj všeč:
Koda: |
#include <stdio.h>
int main()
{
char *racun= "2/3";
float a, b;
sscanf(racun, "%f/%f", &a, &b);
printf("a: %f, b: %f\n", a, b);
return 0;
} |
Pa celo vedel sem za to funkcijo, samo uporabiti je nisem znal ...
Lp,
Peter |
|
Nazaj na vrh |
|
 |
alessio Član

Pridružen-a: Pon 04 Dec 2006 8:39 Prispevkov: 363 Aktiv.: 1.61 Kraj: Ljubljana
|
Objavljeno: Tor Avg 11, 2009 8:34 pm Naslov sporočila: Re: 2/3 v double |
|
|
gregoral je napisal/a: |
če potrebuješ računanje poljubnih izrazov potem vsekakor potrebuješ expression parser |
Ena izmed bolj zanimivih možnosti za ta namen je zagotovo FOSS muParser
izdan pod privlačno MIT licenco.:
http://muparser.sourceforge.net/
~Aleš _________________ Question is more important than the answer.(Plato) |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|