Как сделать Integer.parseInt () для десятичного числа?

Я попробовал бы что-то простое как:

cmd 2> tmp_file && cat tmp_file | grep pattern && rm -f tmp_file
67
задан Kevin Boyd 20 September 2009 в 13:13
поделиться

4 ответа

0,01 не является целым числом (целым числом), поэтому вы, конечно, не можете разобрать его как единицу. Вместо этого используйте Double.parseDouble или Float.parseFloat .

61
ответ дан 24 November 2019 в 14:26
поделиться
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 будет на ноль.

89
ответ дан 24 November 2019 в 14:26
поделиться

Использовать,

String s="0.01";
int i= new Double(s).intValue();
27
ответ дан 24 November 2019 в 14:26
поделиться

Используйте Double.parseDouble (String a) то, что вы ищете, не является целым числом, так как это не целое число.

2
ответ дан 24 November 2019 в 14:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: