Все вопросы: [bigdecimal]

29 вопросов

похожие теги:
2
голосов
2ответов
746 просмотров

Analog of StringBuilder for BigDecimal

I've got a list of BigDecimals to sum. If they were Strings to concatenate, I would use StringBuilder to reduce object creation. Is there something similar for BigDecimal? Or maybe I shouldn't bother about it? Is optimization of BigDecimal creation worth putting effort to it? BigDecimal result =...

13
голосов
7ответов
11654 просмотров

How using BigDecimal would affect application performance?

I want to use BigDecimal to represent arbitrary precision numbers like prices and amounts in a low-latency trading application with thousands of orders and execution reports per second. I won't be doing many math operations on them, so the question is not about performance of the BigDecimal per...

1
голосов
2ответов
376 просмотров

Java - too many BigDecimals?

For more info, see my other question, here. So anyway, I'm using BigDecimals to represent currency in my application (it deducts a markdown percentage and adds sales tax), but it seems that If I use a BigDecimal for the price, everything needs to be BigDecimals. Is it OK to use a BigDecimal for t...

67
голосов
9ответов
107262 просмотров

Using BigDecimal to work with currencies

I was trying to make my own class for currencies using longs, but apparently I should use BigDecimal instead. Could someone help me get started? What would be the best way to use BigDecimals for dollar currencies, like making it at least but no more than 2 decimal places for the cents, etc. The A...

3
голосов
2ответов
953 просмотров

Does Scala's BigDecimal violate the equals/hashCode contract?

As the Ordered trait demands, the equals method on Scala's BigDecimal class is consistent with the ordering. However, the hashcode is simply taken from the wrapped java.math.BigDecimal and is therefore inconsistent with equals. object DecTest { def main(args: Array[String]) { val d1 = BigD...

3
голосов
1ответов
2229 просмотров

Scala BigDecimal division

What use is the division operator on a scala BigDecimal? val d1 = BigDecimal(2) val d2 = BigDecimal(3) val div = d1 / d2 //throws ArithmeticException: non-terminating decimal expansion In order to get this to work, you need to define a DECIMAL128 context on the decimals. Unfortunately the onl...

19
голосов
6ответов
55014 просмотров

Java BigDecimal remove decimal and trailing numbers

I'm new to Java and trying to take a BigDecimal (for example 99999999.99) and convert it to a string but without the decimal place and trailing numbers. Also, I don't want commas in the number and rounding is not needed. I've tried: Math.Truncate(number) but BigDecimal is not supported. Any ...

3
голосов
3ответов
20280 просмотров

Oracle hibernate sequence generator problem

I am developing an application using oracle 11g, Java(struts2) and Hibernate. I have table named mytemp with column mytemp_id which is of type NUMBER(22,0). In my mytemp.hbm.xml file id is as given below <id name="mytempId" type="big_decimal"> <column name="MYTEMP_ID" precisio...

8
голосов
5ответов
8743 просмотров

Java library to check whether a String contains a number *without* exceptions

I'm looking for a method that returns a boolean if the String it is passed is a valid number (e.g. "123.55e-9", "-333,556"). I don't want to just do: public boolean isANumber(String s) { try { BigDecimal a = new BigDecimal(s); return true; } catch (NumberFormatException...

1
голосов
2ответов
462 просмотров

Why does Ruby's BigDecimal represent numbers oddly sometimes?

I am seeing very, VERY strange behavior when I run certain reports: >> p = BigDecimal.new('0.1785990254E5') => #<BigDecimal:b649b978,'0.1785990254E5',16(16)> >> q = BigDecimal.new('0.76149149E4') => #<BigDecimal:b64968d8,'0.76149149E4',8(16)> >> p-q => #&lt...

49
голосов
7ответов
39463 просмотров

Проверьте, является ли BigDecimal целочисленным значением

Может ли кто-нибудь порекомендовать эффективный способ определения того, является ли BigDecimal целым числом в математическом смысле? В настоящее время у меня есть следующий код: private boolean isIntegerValue(BigDecimal bd) { boolean ret; try { bd.toBigIntegerExact(); ...

14
голосов
3ответов
10705 просмотров

Почему до сих пор существует конструкция Bigdecimal (double d)?

Я заметил существенную боль при использовании этого конструктора (даже здесь, в Stack Overflow). Люди используют его, хотя в документации четко сказано: Результаты этого конструктора могут быть несколько непредсказуемыми http: //java.sun. com / javase / 6 / docs / api / java / math / ...

1
голосов
3ответов
5009 просмотров

Как получить масштаб на BigDecimal?

Я обнаружил, что BigDecimal имеет метод setScale, но не имеет метода getScale. Как получить масштаб на BigDecimal?

26
голосов
4ответов
17834 просмотров

Почему Java BigDecimal возвращает 1E + 1?

Почему этот код иногда возвращает 1E + 1, в то время как для других входных данных (например, 17) вывод не печатается в экспоненциальной нотации? BigDecimal bigDecimal = BigDecimal.valueOf(doubleValue).multiply(BigDecimal.valueOf(100d)).stripTrailingZeros(); System.out.println("value: " + big...

38
голосов
6ответов
80283 просмотров

приведение Long к BigDecimal

Как преобразовать Long в BigDecimal?

15
голосов
4ответов
43658 просмотров

Java, BigDecimal. Проблемы с разделением

Я пытаюсь вычислить процентный "коэффициент". То есть, учитывая 20%, преобразовать его в 0,2 (я намерен позже умножить значения на это и получить 20% значений). В любом случае вопрос связан с этим фрагментом кода: public static void main(String[] args) { int roundingMode = BigDecimal.R...

0
голосов
2ответов
623 просмотров

BigDecimal: Может ли компилятор Java оптимизировать умножение на 1?

Удаляет ли компилятор Java умножение на 1, когда речь идет о BigDecimal? Я стою примерно так: BigDecimal bd = getBigDecimal();//get arbitrary bigDecimal, could be anyone. bd = bd.multiply(new BigDecimal(getOneTwoOrThree()); Где метод getOneTwoOrThree объявлен как: /* * Always ret...

15
голосов
6ответов
14709 просмотров

Почему BigDecimal возвращает странное значение?

Я пишу код, который будет иметь дело с валютами, расходами и т. д. Я собираюсь использовать класс BigDecimal для математики и хранения, но мы столкнулись с чем-то странным с ним. Это заявление: 1876.8 == BigDecimal('1876.8') возвращает false. Если я пропущу эти значения через строку...

42
голосов
11ответов
30003 просмотров

Логарифм большого десятичного числа

Как я могу рассчитать логарифм BigDecimal? Кто-нибудь знает какие-нибудь алгоритмы, которые я могу использовать? Мой поиск в Google пока что натолкнулся на (бесполезную) идею просто преобразовать в double и использовать Math.log. Я предоставлю точный ответ. редактировать: подойдет любая...

2
голосов
8ответов
866 просмотров

Как справиться с умножением чисел, близких к 1

У меня есть несколько чисел с плавающей запятой (двойники Java), большинство из которых очень близки к 1, и мне нужно умножить их вместе как часть более крупного вычисления. Мне нужно делать это много . Проблема в том, что хотя Java-двойники не имеют проблем с такими числами, как: 0.00000...

17
голосов
3ответов
6393 просмотров

Округление Java BigDecimal до ближайшего интервала

У меня есть результат вычисления BigDecimal, который мне нужно округлить до ближайшего указанного интервала (в данном случае это размер тика финансового рынка). например Цена [размер тика] -> Округленная цена 100.1 [0.25] -> 100 100.2 [0.25] -> 100.25 100.1 [0.125] -> 100.125 1...

59
голосов
20ответов
36480 просмотров

Что делать с производительностью Java BigDecimal?

Я пишу приложения для торговли валютой на жизнь, поэтому мне приходится работать с денежными значениями (жаль, что в Java до сих пор нет десятичного типа с плавающей запятой и нет ничего для поддержки денежных расчетов произвольной точности). "Используйте BigDecimal!" - Вы могли бы сказать. Я де...

16
голосов
5ответов
4632 просмотров

«новый BigDecimal (13.3D)» приводит к неточному «13.3000000000000007105 ..»?

Почему Java BigDecimal может быть таким болезненным? Double d = 13.3D; BigDecimal bd1 = new BigDecimal(d); BigDecimal bd2 = new BigDecimal(String.valueOf(d)); System.out.println("RESULT 1: "+bd1.toString()); System.out.println("RESULT 2: "+bd2.toString()); RESULT 1: 13.3000000000000007105...

27
голосов
5ответов
27976 просмотров

Возвести десятичную дробь в десятичную степень?

Инфраструктура .net предоставляет в классе Math метод для двойного использования. Но по требованию точности мне нужно возвести десятичную дробь в десятичную степень [Pow (decimal a, decimal b)]. У фреймворка есть такая функция? Кто-нибудь знает библиотеку с такой функцией?

6
голосов
3ответов
3435 просмотров

Очень, очень большие числа C # с плавающей запятой

Я занимаюсь популяционным моделированием (для развлечения, в основном, чтобы поиграть с концепциями несущей способности и логистической функции). Модель работает с несколькими планетами (сейчас их около 100 000). Когда население одной планеты достигает максимальной емкости, жители начинают разве...

94
голосов
14ответов
42342 просмотров

Представление денежных значений в Java

Я понимаю, что BigDecimal рекомендуется для представления денежных величин в Java. Что ты используешь? Есть ли лучшая библиотека, которую вы бы предпочли использовать?

26
голосов
4ответов
53068 просмотров

Есть ли разница между BigDecimal («0») и BigDecimal.ZERO?

Как для сравнения, так и для инициализации новой переменной имеет значение, какую из них вы используете? Я знаю, что BigDecimal.ZERO - это функция версии 1.5, поэтому это вызывает беспокойство, но если я использую 1.5, имеет ли это значение? Спасибо.

21
голосов
16ответов
10390 просмотров

Какие языки программирования поддерживают арифметику произвольной точности?

Какие языки программирования поддерживают арифметику произвольной точности, и не могли бы вы дать краткий пример того, как напечатать произвольное количество цифр?

53
голосов
5ответов
71215 просмотров

Использование java.math.MathContext

Недавно я пытался понять, как используется java.math.MathContext , но не смог правильно понять. Используется ли он для округления в java.math.BigDecimal. Если да, то почему округляется не десятичные цифры, а даже часть мантиссы. Из документации API я узнал, что он соответствует стандарту, ук...