Объединить два целых числа, чтобы получить значение с плавающей точкой в Java

#java #int #concatenation

#java #int #объединение

Вопрос:

У меня есть два целых значения, как показано ниже

 int fb = (int) (duration.toMinutes() / 60.0);
    int fb1 = (int) (duration.toMinutes() % 60.0);
  

Я хочу переменную с плавающей точкой, как показано ниже

 float fb2 = fb.fb1
  

Пример: Если у меня есть два значения int как fb = 3 и fb1 = 30, мне нужно значение с плавающей точкой fb2 = 3,30

Помогите мне, как достичь вышеуказанного в Java с минимальным количеством кода.

Комментарии:

1. В вашем примере fb1 значение 1 или 10 дало бы одинаковое значение для fb2 . Это намеренно?

2. Минимальный код: Float.parseFloat(fb "." fb1) (предполагая, что это то, что вы хотите — см. комментарий выше)…

3. float fb2 = fb fb1 / 100f ;

4. @saka1029 Это не будет работать для целых чисел, состоящих более чем из 2 цифр.

5. @DimaSan они сделали это, не упомянув важную оговорку о том, что это, вероятно, не то, чего хочет op. fb1 = 1 и fb1 = 10 дают одинаковый результат — вероятно, идея не в этом…

Ответ №1:

Попробуйте Float.parseFloat() вот так:

 float fb2 = Float.parseFloat(fb   "."   fb1);
  

Вы также могли бы использовать Float.valueOf() в сочетании с String.valueOf() , вот так:

 float fb2 = java.lang.Float.valueOf(String.valueOf(fb)  "."  
String.valueOf(fb1));
  

Комментарии:

1. правила комментариев assylias!

2. Как получить точность в два десятичных знака в приведенной выше оценке

3. Оно имеет десятичную точность 2, смотрите здесь @user3669712

4. @ArnavBorborah Я думаю, комментарий касается того факта, что (fb = 1,fb1 = 10) -> fb2 = 1.1 и (fb = 1,fb1 = 1) -> fb2 = 1.1 дают тот же результат.

5. Да, оно имеет двойную точность, если оно имеет значения, отличные от нуля, но мне нужно представление всегда с двумя точностями, такими как 1.20, а не 1.2

Ответ №2:

 float fb2 = Float.parseFloat(fb   "."   fb1);
  

Вот так просто 😉

Ответ №3:

float fb2 = Float.parseFloat(Integer.toString(fb) «.» Integer.toString(fb1));

Ответ №4:

Попробуйте приведенный ниже код:

     int fb = (int) (duration.toMinutes() / 60.0);
    int fb1 = (int) (duration.toMinutes() % 60.0);

    float fb2 = java.lang.Float.valueOf(fb  "."  fb1);  
  

Комментарии:

1. Кстати, вам не нужно делать это String в строке 4.

Ответ №5:

В классе-оболочке с плавающей точкой есть два метода 1) parseFloat 2) valueOf

Вы можете использовать любое из этого

 float f=Float.parseFloat(fb "." fb1);
  

или

 float f=Float.valueOf(fb "." fb1);