» »

Število decimalk???

Število decimalk???

ta_pravi ::

Pozdravlejni!

Ima kdo kakšno idejo, kako bi v C ju preko argumenta določil število decimalnih mest pri izpisu števila???

LP
ta_pravi

Ch4N93 ::

poskusi s "ftoa" oz. "ftoe"
void ftoa(float n, unsigned char decimals, char *str)

converts the floating point number n to characters in string str.
The number is represented with a specified number of decimals.

void ftoe(float n, unsigned char decimals, char *str)

converts the floating point number n to characters in string str.
The number is represented as a mantissa with a specified number of decimals and an integer power of 10 exponent (e.g. 12.35e-5).

Ni nam lahko...

Jean-Paul ::

To zmore tudi družina printf funkcij:

primer:
printf("%.*f\n", 2, 42343.5264523);
P.S.
Preberi si dokumentacijo za printf (npr. man 3 printf)

Neumann ::

Lep pozdrav,
sposodil bi si temo, ker imam problem z decimalnimi števili. Programiram v pythonu, skupaj z qt designerjem.

1.vprašanje:

Rad bi naredil tako, da ko bi uporabnik vpisal število (npr. 123456), bi program sam postavil vejico na drugo mesto, torej bi ta številka pomenila 12,3456. Torej, kako narediti, da neglede na to kakšno število uporabnik napiše, število prikaže oz. uporabi kot 2 mesti celega dela, ostalo pa decimalni del? Upam da sem razumljivo napisal.

2.vprašanje:

ko naredim program, recimo kalkulator v pythonu, gui pa qt designer, ko želim izpisati nekaj oz. nek rezultat napišem tako:

dlg.izpis.setText("rezultat je %.2f " %rezultat) - tukaj je vse lepo in prav.

kako pa narediti če imamo več argumentov, če želim stavek nadaljevati..naprimer

dlg.izpis.setText("rezultat je %.2f " %rezultat "€!" ...) ta naslednji argument € ga že moti, kot da je preveč argumentov??

Če ima kdo kakšno idejo bi jo bil zelo vesel.

FrEaKmAn ::

1. iz glave, mogoče 123456/10**((len(123456)-2).. samo pazi an robne pogoje ...in verjetno obstaja kakšna lepša rešitev
2. v tvojem primeru moraš imeti enako število "mest" v stringu ter enako število parametrov. V tvojem primer ima 1 mesto in 2 parametra. rešitev je lahko

dlg.izpis.setText("rezultat je %.2f €" % rezultat)


ali

dlg.izpis.setText("rezultat je %.2f %s" % (rezultat, "€!"))

Zgodovina sprememb…

  • spremenil: FrEaKmAn ()

P4ajo ::

Sicer sem povsem začetnik pri programiranju, ampak za prvo vprašanje bi mogoče lahko naredil takole... (sem pa prepričan da obstajajo enostavnejši in boljši načini (in se opravičujem če so napake, ampak nisem že nekaj mesece nič delal)

števila=str(input) # tukaj pač uporabnik vnese številko kot string
seznam_števil=list(števila) # tukaj se vnesena številka iz stringa pretvori v seznam)
# (vsak znak, je svoj element v seznamu)
seznam_števil_l=[] # ustvariš nov seznam
seznam_števil_l.append(seznam_števil[1]) # v nov seznam daš prva dva elementa iz
# seznama števk v vnesenemu številu
seznam_števil_l.append(seznam_števil[2])
seznam_števil_l.append(",") # v nov seznam dodaj vejico
for x in range (3, (len(seznam_števil)+1)): # zanka ki doda v ta nov seznam še ostale
seznam_števil_l.append(x) # števke, ki pridejo za vejico
seznam_števil_k=join.(seznam_števil_l) # nov seznam se pretvori v string
seznam_števil_k=float(seznam_števil_k) # decimalno število se pretvori v float

FrEaKmAn ::

@P4ajo

vse kar si ti spisal, lahko spraviš v eno vrstico ali 2, poskusi za vajo :)

donkihod ::

@Neumann,

lahk pa pretvoriš v string pa potem nazaj v float, če nucaš za nadalnje računanje.
stevilo = input()
stevilo = float(stevilo[:2] + "." + stevilo[2:])


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Python - pomoč (strani: 1 2 3 )

Oddelek: Programiranje
10318049 (8797) black ice
»

Programiranje v pythonu

Oddelek: Programiranje
142032 (1390) Sony-Tech
»

Python

Oddelek: Programiranje
203039 (1725) d_DJ
»

[C++] Pretvorba iz int v char *

Oddelek: Programiranje
232963 (2339) Gundolf
»

[C++][Naloga] Tekstovne datoteke, realna števila

Oddelek: Programiranje
254020 (3636) Gundolf

Več podobnih tem