2013-09-18 3 views
0

Как видно из названия, сказал:Как правильно разобрать Float to String?

Я пробовал:

 Float.toString(float); 
     String.valueOf(float); 
     Float.toHexString(float); 
     float.toString(); 

Но я нашел, если значение Float = 100,00; Значение Covert to String будет 100.0. Как этого избежать? Как быть точно?

Заранее спасибо.

редактирует -------------

Ответы указывают, что те, которые конкретны знаков после запятой.

+5

'Но я нашел, если значение Float = 100,00; Если значение String будет 100.0.' Confusing. –

+1

что вам нужно 100 или 100,00? – gifpif

+2

Вы знаете, что «точный» является довольно широким термином при использовании арифметики с плавающей запятой? – Sirko

ответ

1

Его «глупый», чтобы сохранить 2 нуля в конце. Все, что вы сделать, это добавить столько нулей, как необходимо в данный момент вы печатаете, но внутренне, это будет сохранено как x.0

Пример:

printf ("%.2f", 3.14159); 

гравюр:

3,14

0

если вы вознамерились сделать это ..

когда вы получаете ул = «100,0»;

String[] strNew = str.split("."); 

if(strNew[1].length==1) 
{ 
str=str+"0"; 
} 

КСТАТИ ОЧЕНЬ ПЛОХО ПУТЬ ...

0
float f = 100.00000f; 
String expected = String.format("%.6f", f); 

Выход из этого будет:

100,000000

Длина самого числа после f точка прорыва выполняется вами.

string.Format ("%. 6f", е) == 100,000000

string.Format ("%. 2f", е) == 100,00