Java: преобразовать научную нотацию в обычный int

Как преобразовать научную нотацию в обычный int Например: 1.23E2 Я хотел бы преобразовать его в 123

Спасибо.

Ответы

Ответ 1

Если у вас есть значение как String, вы можете использовать

int val = new BigDecimal(stringValue).intValue();

Ответ 2

Вы можете просто применить его к int как:

double d = 1.23E2; // or float d = 1.23E2f;
int i = (int)d; // i is now 123

Ответ 3

Я предполагаю, что у вас это как строка.

Взгляните на класс DecimalFormat. Большинство людей используют его для форматирования чисел в виде строк, но на самом деле у него есть метод разбора, чтобы идти в другую сторону! Вы инициализируете его своим шаблоном (см. Учебник), а затем вызываете parse() в строке ввода.

Ответ 4

Отъезд DecimalFormat.parse().

Пример кода:

DecimalFormat df = new DecimalFormat();
Number num = df.parse("1.23E2", new ParsePosition(0));
int ans = num.intValue();
System.out.println(ans); // This prints 123

Ответ 5

Вы также можете использовать что-то вроде этого.

(int) Double.parseDouble("1.23E2")