bigdecimal

Java Math Functions for BigDecimal

Are there complementary mathematical functions used in java.lang.Math that fully utilize the capabilities of BigDecimal? In other words, is there a log function that takes and returns a BigDecimal similar to how there is a log function that takes and returns a double? ...

Oracle hibernate sequence generator problem

Hello friends, 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" precision="22" scale="0" /> <genera...

Java BigDecimal remove decimal and trailing numbers

Hello all, 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 ideas? Thanks very much. ...

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 only way I can see of doing this is: val div...

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 = BigDecimal("2") val d2 = BigDecimal("2.00"...

java - BigDecimal

I was trying to make my own class for currencies using longs, but Apparently I should use BigDecimal (and then whenever I print it just add the $ sign before it). Could someone please get me 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 cent...

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 the markdown percentage field (instead of a...

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 se, but rather about how large volumes of...

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 = BigDecimal.ZERO; for (CashReportElement e...

Struts 2 - Problemas with validation/convertion of BigDecimal

Hi. I'm having some problems trying to convert/validate a java.math.BigDecimal[][] in a Struts 2 action class. I need to display the values localized (pt_BR) so I wrote a BigDecimal converter. Then I wrote a simples MyAction-convertion.properties file: quadroInvestimentos=my.package.converter.BigDecimalConverter My action class has a ...

data type to represent a big decimal in java

Which data type is apt to represent a decimal number like "10364055.81". If tried using double: double d = 10364055.81; But when I try to print the number, its displaying as "1.036405581E7", which I don't want. Should I use BigDecimal? But its displaying as 10364055.81000000052154064178466796875. Is there any datatype that displays ...

BigDecimal serialization in GWT

What is your preferred approach to serializing BigDecimal in GWT? Are there any clever workarounds, or do you simply use Double or String? Of all of the GWT pains this is so far the biggest; I'd hate to create two models, one for server and one for GWT, and transform data from one to the other. On the other hand, while I don't care muc...

Ruby 1.8.6 BigDecimal.to_f always returns '0,0' on Solaris

Hi, I have come across a very weird error. I'm on Solaris 10, using Ruby Enterprise Edition (ruby 1.8.6 (2008-08-08 patchlevel 286) [i386-solaris2.10]) with Rails 2.3.4. I have a very weird error. In irb: irb(main):001:0> require 'bigdecimal' => true irb(main):002:0> b = BigDecimal.new('123') => #<BigDecimal:834d0e8,'0.123E3',4(8)> ir...

Addition for BigDecimal

I want to do some simple sums with some currency values expressed in BigDecimal type. BigDecimal test = new BigDecimal(0); System.out.println(test); test.add(new BigDecimal(30)); System.out.println(test); test.add(new BigDecimal(45)); System.out.println(test); Obviously I do not understand well the BigDecimal arithmetics, see output ...

BigDecimal assign operator

iam having problem with assigning one big decimal value to another so i am trying such as creating one temp big decimal and add 0 to another big decimal BigDecimal temp = new BigDecimal(0); dropStartValue = temp.add(newCounterValue); i only want simply do the operation below on big decimals dropStartValue = newCounterValue ...

Ruby BigDecimal Round: Is this an error?

While writing a test with a value that gets represented as a BigDecimal, I ran into something weird and decided to dig into it. In brief, '0.00009' when rounded to two decimal places is returned as 0.01 instead of 0.00. Really. Here's my script/console capture: >> bp = BigDecimal('0.09') => #<BigDecimal:210fe08,'0.9E-1',4(8)> >> bp.ro...

round BigDecimal to nearest 5 cents

Hi, I'm trying to figure out how to round a monetary amount upwards to the nearest 5 cents. The following shows my expected results 1.03 => 1.05 1.051 => 1.10 1.05 => 1.05 1.900001 => 1.10 I need the result to be have a precision of 2 (as shown above). Update Following the advice below, the best I could do is this B...

computing large roots : bigdecimal / java

I tried to use the standard iterative algorithm to compute nth roots. For instance (111^123)^(1/123). The standard algorithm computes high powers of the base (in this case 111^123) which takes a lot of time. The algorithm is given here http://en.wikipedia.org/wiki/Nth_root_algorithm However, I noticed that the same thing using double ...

Java BigDecimal trigonometric methods

Hi folks, I am developing a mathematical parser which is able to evaluate String like '5+b*sqrt(c^2)'. I am using ANTLR for the parsing and make good progress. Now I fell over the Java class BigDecimal and thought: hey, why not thinking about precision here. My problem is that the Java API does not provide trigonometric methods for Big...

The Java BigDecimal vs The Financial Mans - "The 1 cent problem"

I have this problem: The financial mans says: "Error of your programation". The official table of values and final calc from financial is base % total value 667.63 - 1.5(0.015) = 657.62 705.98 - 1.5(0.015) = 695.39 687.77 - 1.5(0.015) = 677.45 844.62 - 1.5(0.015) = 831.95 743.23 - 1.5(0.015) ...