как получить сумму между двумя десятичными значениями в Android Studio - PullRequest
0 голосов
/ 08 ноября 2018

Я работаю с приложением Android Studio - mrate - это расстояние для расстояния в 1 км, а replacetext - это расстояние между двумя точками, и вместо (км) формируется расстояние - когда значение расстояния имеет десятичное значение (10,5). ) тогда система получает ошибку

String mykm =dbDistance.getText().toString();

String mrate = dbRate.getText().toString();
System.out.println(mrate);

String replacetext;
replacetext = mykm.replace(" km", "");
System.out.println(replacetext);


//convert value into int
int x=Integer.parseInt(mrate);
int y=Integer.parseInt(replacetext);

//sum these two numbers
int z=x+y;

System.out.println(z);

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Вы также можете использовать объекты BigDecimal для простого преобразования и арифметики

    BigDecimal decimal1 = new BigDecimal("1.024");
    BigDecimal decimal2 = new BigDecimal("52.232");
    BigDecimal decimal3 = decimal1.add(decimal2);
    BigDecimal decimal4 = decimal3.multiply(decimal1);
    String newValue = decimal4.toString();

BigDecimal очень мощный, особенно если вам нужна точность с большими десятичными разрядами или большими числами вообще

0 голосов
/ 08 ноября 2018
//convert value into int
int x=Integer.parseInt(mrate);
int y=Integer.parseInt(replacetext);

Если у вас есть десятичные значения, используйте Double или Float вместо Integer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...