IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 14. diel - Matematické funkcie v C# a knižnica Math

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Kit
Tvůrce
Avatar
Kit:20.10.2012 15:40

K metodě Math.Pow() bych dodal, že bývá velmi často nadužívána např. při umocňování na druhou. Je relativně pomalá a například při vyhodnocování vzájemných vzdáleností většího množství objektů pomocí Pythagorovy věty se tím dost zpomalí celý program.

Odpovedať
20.10.2012 15:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
pojer
Člen
Avatar
pojer:12.7.2013 20:21

Mám dotaz k metodám Acos, Asin, Atan. Neměl by převod radiánů na stupně vypadat spíš takto radiany * 180 / Math.PI

 
Odpovedať
12.7.2013 20:21
Avatar
vfsdfsdfdsf
Člen
Avatar
Odpovedá na pojer
vfsdfsdfdsf:27.1.2014 16:29
// Převod stupňů na radiány
double stupne = 171.887;
double radiany = stupne * Math.PI / 180;
Console.WriteLine("{0} stupňů je {1} radiánů", stupne, radiany);
// Převod radiánů na stupně
radiany = 3;
stupne = radiany * 180 / Math.PI;
Console.WriteLine("{0} radiánů je {1} stupňů", radiany, stupne);

Console.ReadKey();

Výstup:

171,887 stupňů je 2,99999409137549 radiánů
3 radiánů je 171,887338539247 stupňů

Takže ano, máš to správně :)

 
Odpovedať
27.1.2014 16:29
Avatar
Patrik Bak
Člen
Avatar
Patrik Bak:18.5.2015 0:57

Dobrý deň.

Math.Floor(Mat­h.Log(1000,10­))

Prečo je toto rovné 2 ?

 
Odpovedať
18.5.2015 0:57
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na Patrik Bak
Jan Vargovský:18.5.2015 1:06

Protože ti vyjde 2.9 periodických a když to zaokrouhlíš dolů, tak máš 2. Jestli chceš logaritmus při základu 10, tak použij Math.Log10(...).

 
Odpovedať
18.5.2015 1:06
Avatar
Lukáš Hypša:30.7.2015 18:51

Metoda Round() mi číslo s .5 na konci zaokrouhluje dolů, jde to nějak napravit?

 
Odpovedať
30.7.2015 18:51
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na Lukáš Hypša
Jan Vargovský:30.7.2015 19:41

To je správné chování, jen v článku je chyba :)

 
Odpovedať
30.7.2015 19:41
Avatar
Matej Rástocký:20.8.2015 22:13

Prepáčte asi mi niečo uniklo, ale keď napíšem hneď ten 1vý kód z číslom Pi a E,

Console.WriteLine("Pi: {0} \ne: {1}", Math.PI, Math.E);
Console.ReadKey();

Console.ReadKey();

vypíše mi to chybu: The type or namespace name 'PI' does not exist in the namespace 'Math' (are you missing an assembly reference?) Math C:\Users\rasto\O­neDrive\Projec­ts_C#\2015\Con­sole\Math\Mat­h\Program.cs
A to isté aj pre číslo E

Mohol by mi to prosím niekto vysvetliť ? :)

 
Odpovedať
20.8.2015 22:13
Avatar
Odpovedá na Matej Rástocký
Matej Rástocký:20.8.2015 23:01

už netreba funguje to :D prepáčte za planý poplach

 
Odpovedať
20.8.2015 23:01
Avatar
Jakub Jusko
Člen
Avatar
Jakub Jusko:25.2.2016 20:34

Ahoj, jde nějak ošetřit, aby program na výstupu házel zlomky místo des. čísel? Díky

 
Odpovedať
25.2.2016 20:34
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!