как да отпечатваме double или float числа на конзолата без последните излишни нули и дори без десетичната точка (запетая) ?
Въпросът ми е, има ли някакъв удобен начин за форматиране, при отпечатването double или float числа на конзолата, така че, последните цифри след десетичния раздилител, ако са нули да не се изписват, а дори и десетичната точка, ако няма други цифри?
Например:
4.5087000 --> 4.5087
15.023056 --> 15.023056
2.0000000 ---> 2
-8.3810000 --> -8.381
.....
Благодаря Ви, предварително за оказаното съдействие!
Здравей, todor0912
Пледполагам, не си прочел внимателно темата и въпроса ми.
Това, за което пишеш, се отнася за доста по-различен тип форматиране на float и double числа, който няма нищо общо с премахването на последните излишни нули при отпечатването им.
С %.2f, %.3f, %4f, %0f.... просто се фиксират предварително зададен брой цифри от float и double числа за отпечатване, след десетичния разделител, като се използва и закръглане:
4.5087000 --> %.2f -> 4.51, %.3f -> 4.509, %.5f -> 4.50870;
15.023056 --> %.1f -> 15.0, %.2f -> 15.02, %.4f -> 15.0231;
2.0000000 ---> %.1f -> 2.0, %.2f -> 2.00, %.3f -> 2.000, %.0f -> 2;
-8.3810000 --> %.1f -> -8.4, %.2f -> -8.38, %.3f -> -8.381, %.5f -> -8.38100;
Както виждаш, когато при изчисляване в задачата се изисква, резултата да се отпечата число, само със значещите цифри, няма как просто да използваш String.format("%.2f", doubleNumber);
Правилният и най-лесен начин, наистина се оказва класа DecimalFormat(), разгледай предишните постове!
Все пак, благодаря за вниманието !