Float to int
Float to int
Zdravím, mám dotaz amatéra :
mám proměnnou float například :
float x = 3,14 a potřebuji získat z toho dvě proměnné :
int a = 3
int b = 14
a nějak mi to nejde...
mám proměnnou float například :
float x = 3,14 a potřebuji získat z toho dvě proměnné :
int a = 3
int b = 14
a nějak mi to nejde...
-
- Příspěvky: 1030
- Registrován: 06 zář 2017, 20:04
- Reputation: 0
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Float to int
Tak věz amatére, že v programovacím jazyce Wiring se nepoužívá jako oddělovač desetinné části reálného čísla čárka nýbrž tečka.
Kód: Vybrat vše
float x=3.14;
int a;
int b;
a=(int)x;
b=(int)(100*(x-(float)a));
Re: Float to int
Hele Profíku jasně, to jsem se jen upsal při psaní příkladu, toto vím.
Ale jinak MOC díky, šlape to.
Ale jinak MOC díky, šlape to.
Re: Float to int
"Šlape to" do chvíle, než bude float x = 3.1415 ...
Opravdu Tě vyhovuje, že ten float musí mít právě 2 des. místa?
Opravdu Tě vyhovuje, že ten float musí mít právě 2 des. místa?
Re: Float to int
Teď jsem tu dlouho nebyl. Kamile stačí, ale co by to udělalo? Anebo jak to pozměnit, aby to vzalo více desetinných míst?
Re: Float to int
U toho "b" se to des. číslo násobí 100, takže v "b" budou vždy jen první dvě des. místa, zbytek se zahodí.
Musely by se třeba spočítat cifry za des. čárkou a násobit to ne fixně 100, ale 10^pocet_cifer.
Musely by se třeba spočítat cifry za des. čárkou a násobit to ne fixně 100, ale 10^pocet_cifer.
Re: Float to int
Pak to vrati stejnou hodnotu pro 3.1 a 3.000000001 - nevim, zda je to uzitecna vlastnost (ledaze bys jeste zvlast ukladal pocet cifer)
a pro veci jako (1.0/3) to bude vracet hoodne cifer
a pro veci jako (1.0/3) to bude vracet hoodne cifer
Re: Float to int
To sice ano, ale ten problém bude mít zrovna tak už teď u 3.1 a 3.01
Neznám zadání, nevím k čemu je dobré to číslo takto rozdělovat, takže užitečnost nehodnotím.
1.0/3 bude vracet hodně cifer, ale spočetně hodně.
Neznám zadání, nevím k čemu je dobré to číslo takto rozdělovat, takže užitečnost nehodnotím.
1.0/3 bude vracet hodně cifer, ale spočetně hodně.
Re: Float to int
nebude, v prvnim pripade dostane 10, v druhem 1
Re: Float to int
Jasně, máš pravdu. Nevím, na co jsem myslel
I to je ale snadno řešitelné, třeba tak, že b nebude 0.N ale 1.N
Víc mi ale "vadí", že neznáme kontext, proč je "potřeba" float takhle dělit. Možná, že by to nakonec vůbec potřeba nebylo. Není jasný cíl, takže cest můžeme vymyslet opravdu hodně.
Protože, jak sám píšeš, v prvním případě u 3.1 dostane 10, ale očekávaný výsledek byl IMHO a=3, b=1
I to je ale snadno řešitelné, třeba tak, že b nebude 0.N ale 1.N
Víc mi ale "vadí", že neznáme kontext, proč je "potřeba" float takhle dělit. Možná, že by to nakonec vůbec potřeba nebylo. Není jasný cíl, takže cest můžeme vymyslet opravdu hodně.
Protože, jak sám píšeš, v prvním případě u 3.1 dostane 10, ale očekávaný výsledek byl IMHO a=3, b=1
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů