абстракция научной нотации в Java - PullRequest
2 голосов
/ 09 декабря 2010

Существует ли абстракция класса java для обозначения научных чисел (e.g. the number, 10 power modulus), чтобы я мог выполнять простые операции, такие как умножение или деление над ними.

Примечание: здесь вы ищете что-то похожее на Fraction .

Ответы [ 3 ]

3 голосов
/ 09 декабря 2010

Как сказал Эмиль, BigDecimal помогает вам.Он не имеет конструктора, который позволяет вводить двойную мантиссу и показатель степени int.Вы можете расширить класс, чтобы создать новый конструктор, или вы можете определить DecimalFormat.Я думаю, что класс DecimalFormat будет делать то, что вы хотите.Это позволяет вам определить, как число «выглядит».Вам нужно определить формат, используя строку, учебник - http://download.oracle.com/javase/tutorial/i18n/format/decimalFormat.html

. Вам нужно будет определить формат научных чисел, позвонить yourDecimalFormat.parse(yourStringtoBecomeScientificNumber), который даст вам число, а затем привести его к BigDecimalсделать арифметику с ним.

Также обратите внимание, что это должно позволить вам принудительно ввести определенное количество значащих цифр или цифр слева от десятичной запятой.

1 голос
/ 09 декабря 2010

Я не получил ваш пример. Если вам нужен другой тип представления чисел, вы можете сделать это, расширив абстрактный класс Число . Также взгляните на BigDecimals . Я думаю, это то, что вы ищете.

0 голосов
/ 09 декабря 2010

Вы можете написать число как число + e + экспонента, например: 1e2 вместо 100. Умножение и деление должны работать для этого.

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