Loading...
vancho avatar vancho 430 Точки

Java double VS C# double problem

Имам проблем с резултата на една елементарна задачка, ама съм нов в JAVA. на C# ми излиза отговора, а на JAVA не.

искания output е: 3302.08333333333 (с C# го вадя, а на JAVA ми е малко по-различен дабъла - 3302.0833333333335). Пробвах с BigDecimal (счупих се докато до направя синтаксиса, и от това не е).

Явно има разлика в закръглянията при double в C# и double в JAVA. Не мога да мина през judje-a с JAVA.

Тагове:
-1
Java Advanced 06/05/2016 12:03:24
Filkolev avatar Filkolev 4482 Точки

double по природа има 15-16 цифри точност. Какво се случва със следващите цифри при вадене на резултат е специфика на езика. Задачата явно е такава, че няма как да я докараш. С BigDecimal може да добуташ до отговора на този тест, но най-вероятно ще се счупят други.

2
vancho avatar vancho 430 Точки

Да това ми е ясно за стойностите на double и decimal. Но тогава как е направено в judje-а да paste-неш решение на JAVA, като трябва да нагаждам всеки отговор (решавам задачи, които съм ги решавал на C#, но искам да се науча на JAVA, за това си играя...)?

-1
06/05/2016 14:27:25
Filkolev avatar Filkolev 4482 Точки

Пак казвам, с тази задача няма да стане. Ако получаваш отговори близки до очакваните (т.е. в рамките на точността на double всичко съвпада) значи си решил задачата. Има вариант и в джъжа да се смени настройката за checker, да се сложи на precision май беше вместо trim и да се гледат само първите цифри. Има достатъчно задачи за упражнение, не малко от тях са писани специално за джава; решавай тях, няма смисъл да се мъчиш да нагаждаш някакви аутпути за задача, очевидно писана за C#.

1
vancho avatar vancho 430 Точки

Благодаря ти.

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