www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

C++ kako pretvoriti string "2/3" v double

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
twom
Član
Član



Pridružen-a: Ned 26 Okt 2003 0:37
Prispevkov: 986
Aktiv.: 4.16
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jul 06, 2009 4:26 pm    Naslov sporočila:  C++ kako pretvoriti string "2/3" v double Odgovori s citatom

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 Smile


Lep pozdrav,
Peter
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
domen_puncer
Član
Član



Pridružen-a: Čet 01 Maj 2008 13:30
Prispevkov: 78
Aktiv.: 0.37
Kraj: Ljubljana, Mozirje

PrispevekObjavljeno: Pon Jul 06, 2009 9:34 pm    Naslov sporočila:   Odgovori s citatom

Jo bo treba kar napisati. Razz
_________________
Tiskanje sudoku
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70824.38

PrispevekObjavljeno: Pon Jul 06, 2009 11:40 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
pero
Član
Član



Pridružen-a: Sob 02 Avg 2003 10:03
Prispevkov: 145
Aktiv.: 0.61
Kraj: Sevnica

PrispevekObjavljeno: Tor Jul 07, 2009 3:30 pm    Naslov sporočila:  Re: C++ kako pretvoriti string "2/3" v double Odgovori s citatom

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 Smile


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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
domen_puncer
Član
Član



Pridružen-a: Čet 01 Maj 2008 13:30
Prispevkov: 78
Aktiv.: 0.37
Kraj: Ljubljana, Mozirje

PrispevekObjavljeno: Tor Jul 07, 2009 5:35 pm    Naslov sporočila:   Odgovori s citatom

S tem, da ce ne bo '/' v nizu dobis lepi segfault, oz. se kaj hujsega na uC Wink
_________________
Tiskanje sudoku
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
pero
Član
Član



Pridružen-a: Sob 02 Avg 2003 10:03
Prispevkov: 145
Aktiv.: 0.61
Kraj: Sevnica

PrispevekObjavljeno: Tor Jul 07, 2009 9:53 pm    Naslov sporočila:   Odgovori s citatom

domen_puncer je napisal/a:
S tem, da ce ne bo '/' v nizu dobis lepi segfault, oz. se kaj hujsega na uC Wink

res je Smile

_________________
http://www.modula.si
Open source cc2430 programator http://www.modula.si/cc_flasher
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
gregoral
Član
Član



Pridružen-a: Pet 24 Nov 2006 9:42
Prispevkov: 688
Aktiv.: 3.04
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jul 27, 2009 8:14 pm    Naslov sporočila:  2/3 v double Odgovori s citatom

č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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
twom
Član
Član



Pridružen-a: Ned 26 Okt 2003 0:37
Prispevkov: 986
Aktiv.: 4.16
Kraj: Ljubljana

PrispevekObjavljeno: Pon Jul 27, 2009 11:16 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
alessio
Član
Član



Pridružen-a: Pon 04 Dec 2006 8:39
Prispevkov: 363
Aktiv.: 1.61
Kraj: Ljubljana

PrispevekObjavljeno: Tor Avg 11, 2009 8:34 pm    Naslov sporočila:  Re: 2/3 v double Odgovori s citatom

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
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
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