Я не уверен, что это я или что, но у меня проблема с преобразованием двойного в строку.
вот мой код:
double total = 44;
String total2 = Double.toString(total);
Я делаю что-то не так или я пропускаю шаг здесь.
Я получаю ошибку NumberFormatException
при попытке конвертировать это.
totalCost.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
try {
double priceG = Double.parseDouble(priceGal.getText().toString());
double valG = Double.parseDouble(volGal.toString());
double total = priceG * valG;
String tot = new Double(total).toString();
totalCost.setText(tot);
} catch(Exception e) {
Log.e("text", e.toString());
}
return false;
}
});
Я пытаюсь сделать это в onTouchListener. Я опубликую больше кода, в основном, когда пользователь касается поля edittext, я хочу, чтобы информация вычисляла заполнение поля edittext.
Ответы:
Это преобразует double в строку
источник
NumberFormat fmt = NumberFormat.getInstance(); fmt.setGroupingUsed(false); fmt.setMaximumIntegerDigits(999); fmt.setMaximumFractionDigits(999);
тогда используйтеtotal2 = fmt.format(total)
Double.toString()
. Не уверен, как это отвечает на вопрос.Используя Double.toString (), если число слишком мало или слишком велико, вы получите научную запись, подобную этой: 3.4875546345347673E-6. Есть несколько способов лучше контролировать формат выходной строки.
Использование String.format () будет лучшим удобным способом.
источник
Этот код компилируется и работает для меня. Он конвертирует значение типа double в строку, используя вызовы, которые вы пробовали.
Я озадачен, увидев исключение NumberFormatException. Посмотрите на трассировку стека. Я предполагаю, что у вас есть другой код, который вы не показываете в своем примере, который вызывает это исключение.
источник
Исключение, вероятно, происходит от вызовов parseDouble (). Убедитесь, что значения, данные этой функции, действительно отражают двойное число.
источник
оно работает. должен быть повторным.
источник
Котлин
Вы можете использовать
.toString
непосредственно на любом типе данных в kotlin, какисточник
этот код работает
источник
Double.toString()
звонки,String.valueOf(double)
которые звонкиDouble.toString(double)
. Сумасшедший, а?Одним из них является исключение. Вам нужно добавить журналирование / печать, чтобы увидеть, что внутри,
volGal
иpriceGal
- это не то, что вы думаете.источник
String
s не является правильным представлением,double
поэтому вы получаете это исключение.Double.toString(total);
не могу бросить исключение. Когда-либо. , Вы изменили то, наnew Double(total).toString();
что тоже не можете, и если вы видите здесь ответ, который был отклонен, это не то, что вы когда-либо захотите сделать.double.toString()
должно сработать. Не тип переменнойDouble
, а сама переменнаяdouble
.источник
Просто используйте следующее:
Это будет работать для любого типа данных.
Пример:
источник
Используйте
StringBuilder
класс, вот так:Вы получите желаемый результат.
источник
Как насчет того, когда вы делаете
Вы просто делаете
Где "" + <variable> автоматически преобразует его в строку
источник
Полная информация
Вы можете использовать String.valueOf () для float, double, int, boolean и т. Д.
источник
Есть три способа конвертировать double в String .
«» + Д
открытый класс DoubleToString {
}
Строка для удвоения
источник