Професионална програма
Loading...
Hristo_Penchev avatar Hristo_Penchev 389 Точки

[Technical Issue] Java Basics - Форматиране на число с плаваща запетая - как да отпечатаме точния брой знаци?

Здравейте,

Не мога да открия как да форматирам числото по начин, по който да ми печата точния брой символи след запетаята. Примерно искам ако числото е 1, да ми пиечата 1, не 1.0. А ако е 2.564 да излиза 2.564. Не е вариант да задам точна прецизност до символ. Някой има ли представа? Благодаря предварително.

0
Java Advanced 11/09/2014 14:55:54
Anonymous:
Проблемът е разрешен.
quickben avatar quickben 974 Точки

И аз се сблъсках скоро с този проблем и накрая реших да си направя метод който просто да извлича число от входни данни(стринг) и да го връща пак като стринг, като по този начин се запазва форматирането, сиреч когато числото е int си излиза като инт и обратното.

Ето го метода -> ЦЪК (не съм 100% сигурен за regex pattern-a, засега ми върши работа).

Проблема с форматирането според мен идва от природата на самия тип данни който се опитване да форматираме.

double floatNumber = 123.123D;
int integerNumber = (int)floatNumber;
System.out.println(integerNumber);

Когато кастнем 123.123 от double към int, това което е става е, че променливата integerNumber знае, че е от тип int и следователно когато почне да чете числото 123.123 и стигне до точката четенето спира и се връща целочислена стойност(сиреч int каквато е променливата). Историята от floating point number към integer number е същата. Аз поне така ги разбирам нещата по това което съм чел, ако нещо се бъркам някой да каже. 

0
11/09/2014 00:43:23