У меня есть строковое значение, которое может содержать значение типа double, integer, ascii или byte, и я помещаю это значение в JLabel.Я хотел бы, чтобы значения double и long были в форме 4000000000000
вместо стиля печати java JLabel по умолчанию 4.0E12
.Теперь я знаю, какой тип данных содержится в строке, но я не знаю, как заставить JLabel отображать только ненаучные формы для двойных и целочисленных значений.
Вот что я пробовал до сих пор:
String str = value; // string that holds the value
switch (var) // var that says which data type my str is
{
case LONG:
//convert my string from scientific to non-scientific here
break;
case DOUBLE:
//convert my string from scientific to non-scientific here
break;
case ASCII:
//do nothing
break;
...
}
JLabel label = new JLabel();
label.setText(str); //Want this to be in non-scientific form
но этот метод все еще печатает только научную форму.
Редактировать:
Мое преобразование выглядит так:
str = new DecimalFormat("#0.###").format(str);
также да, это длинное значение, я пропустил некоторые переменные типа данных для ясности.Я не знаю, будет ли это работать для каждого случая, хотя даже если я получу это работает.Мне нужно, чтобы он работал для целых, длинных, расширенных, двойных и плавающих чисел.