Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Stradjazz avatar Stradjazz 30 Точки

Защо Math.Sqrt смята различно с int или double?

Здравейте,

Вероятно въпросът ми е глупав за повечето от вас, но решавайки задачите към първата глава от книгата на Наков, установих че Math.Sqrt вади различен отговор, в зависимост от това дали го използвам с int или double. При int резултатът е цяло число (111), а при double е дробно (111,108055513541). Условието е да се напише конзолна програмка, която да изчислява и принтира квадратния корен на 12345. Ето и двете ми решения:


 static void Main(string[] args)
        {
            int number = 12345;
            int result = (int)Math.Sqrt(number);
            Console.WriteLine("The square root of {0} is {1}", number, result);
        }
 

 static void Main(string[] args)
        {
            double square = Math.Sqrt(12345);
            Console.WriteLine("The square root of 12345 is {0}", square);
        }

Тагове:
0
Programming Basics 01/09/2016 21:47:28
svetljo avatar svetljo 27 Точки

Math.Sqrt() връща double. С реда

int result = (int)Math.Sqrt(number);

правиш cast-ване към int, за да присвоиш вдясно, при което режеш дробната част.

Бих го написал така без да cast-вам към int:

double number = 12345;

double result = Math.Sqrt(number);
Console.WriteLine("The Squarenumber of {0} is {1}", number, result);

0
01/09/2016 20:44:29
Stradjazz avatar Stradjazz 30 Точки

Ясно, благодаря много за бързия отговор!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.