Премахване на 0 след десетичната запетая в Java
Здравейте,
При вход "double", ако изхода ми е цяло число (10.0) принтира 0 след десетичната запетая. Как да я махна?
Защото Judge-a гърми.
Здравейте,
При вход "double", ако изхода ми е цяло число (10.0) принтира 0 след десетичната запетая. Как да я махна?
Защото Judge-a гърми.
Това което ти трябва се казва DecimalFormat! Това е един обект който по зададен предварително патърн форматира числа. Разликата при теб се получава от това, че тестовете са писани за C# и там по дефолт конзолата премахва нулите.
Пример:
double numWithZeros = 10.000000000;
double numWithoutZeros = 10.12345678901234;
DecimalFormat formater = new DecimalFormat("#.################");
System.out.println(formater.format(numWithZeros)); // 10
System.out.println(formater.format(numWithoutZeros)); // 10.12345678901234
"#" - означава, че ако числото е различно от 0 ще бъде заместено с конкретната цифра. Ако е 0, няма да бъде визуализирана.
Здравей,
може да кастенш към инт -
--> System.out.println((int)result);
Или да закръглиш така
- -> System.out.printf("%.0f", result);
Не искам да каствам и закръглям защото има възможност изхода да е дробно число.
Имаш ли възможност да прикачиш кода и линк към задачата да погледна?
Условие: https://softuni.bg/trainings/resources/officedocument/12422/lab-problem-descriptions-programming-fundamentals-exended-january-2017 .Задача 2 Multiply an Array of Doubles
Това е примерна задача: https://pastebin.com/2Ut7iSbB
Задачата в Judge: https://judge.softuni.bg/Contests/Practice/Index/384#1
Пробвай в една отделна променлива да го кастнеш към инт и после да провериш разликата 0 ли е
примерно result = 123,3
var b = int(result) = 123;
var check = a-b;
if (check!=0) {
double
} else {
int }
След този отговор мога да кажа Благодаря! Според мен трябва да засегнете този въпрос в бейсик нивото.