Я попробовал бы что-то простое как:
cmd 2> tmp_file && cat tmp_file | grep pattern && rm -f tmp_file
0,01 не является целым числом (целым числом), поэтому вы, конечно, не можете разобрать его как единицу. Вместо этого используйте Double.parseDouble
или Float.parseFloat
.
String s = "0.01";
double d = Double.parseDouble(s);
int i = (int) d;
Причина исключения состоит в том, что целое число не содержит рациональных чисел (= в основном дробей). Так что пытаться преобразовать 0.3
в int - это нонсенс.
Типы данных double
или float
могут содержать рациональные числа.
Способ преобразования Java double
в int
выполняется с помощью удаление части после десятичного разделителя путем округления до нуля .
int i = (int) 0.9999;
i
будет на ноль.
Использовать,
String s="0.01";
int i= new Double(s).intValue();
Используйте Double.parseDouble (String a)
то, что вы ищете, не является целым числом, так как это не целое число.