Невозможно получить 2 значения после десятичных дробей, но получить ноль
Привет, друзья, я хочу получить два значения после десятичной дроби, но в моей я получаю 0 после десятичной дроби. это мой код ниже.
if (!ed.getText().toString().equals("")) {
if (rb1.isChecked()) {
int input = Integer.valueOf(ed.getText().toString());
double out = input / 24;
out = (double)Math.round(out * 100)/100;
Intent m = new Intent(Page.this,MActivity.class);
m.putDoubleExtra("res", out);
startActivity(m);
Я также ссылался на эти сайты: Android: Как получить только две цифры после запятой в десятичном формате? не хочу обрезать значение
Java: как получить часть после десятичной точки?
и я попробовал код ниже также, но он получает 0 после десятичного числа.
DecimalFormat newFormat = new DecimalFormat("#.##");
double twoDecimal = Double.valueOf(newFormat.format(d))
Пожалуйста, помогите мне новичок в кодировании. Заранее спасибо.
2 ответа
DecimalFormat newFormat = new DecimalFormat("#.00"); double twoDecimal = Double.valueOf(newFormat.format(d))
В вашем коде я нашел
out = (double)Math.round(out * 100.0)/100.0;
Поскольку input
а также 24
целые числа, когда вы делите его, он по-прежнему производит int
, Только тогда он преобразуется в двойной.
Один из способов решить эту проблему: double out = input / 24.0;