/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main
(String[] args
) {
int bdErrors = 0, doubleErrors = 0;
// test BigDecimal rounds as expected.
BigDecimal bd2
= bd.
setScale(2, RoundingMode.
HALF_UP); bdErrors++;
// now try this with double.
double d = bd.doubleValue();
double d2
= Math.
round(d
* 100) / 100.0;
// has any information been lots, use BigDecimal to do calculations to be sure of no accidental errors.
doubleErrors++;
}
System.
out.
printf("BigDecimal errors %,d & double errors %,d%n", bdErrors, doubleErrors
); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAgICAgaW50IGJkRXJyb3JzID0gMCwgZG91YmxlRXJyb3JzID0gMDsKICAgICAgICBmb3IoQmlnRGVjaW1hbCBiZCA9IEJpZ0RlY2ltYWwuWkVSTzsgYmQuY29tcGFyZVRvKEJpZ0RlY2ltYWwuT05FKSA8PTAgOyBiZCA9IGJkLmFkZChuZXcgQmlnRGVjaW1hbCgiMC4wMDAxIikpKSB7CiAgICAgICAgICAgIC8vIHRlc3QgQmlnRGVjaW1hbCByb3VuZHMgYXMgZXhwZWN0ZWQuCiAgICAgICAgICAgIEJpZ0RlY2ltYWwgYmQyID0gYmQuc2V0U2NhbGUoMiwgUm91bmRpbmdNb2RlLkhBTEZfVVApOwogICAgICAgICAgICBCaWdEZWNpbWFsIGVycm9yID0gYmQyLnJlbWFpbmRlcihuZXcgQmlnRGVjaW1hbCgiMC4wMSIpKTsKICAgICAgICAgICAgaWYgKGVycm9yLmNvbXBhcmVUbyhCaWdEZWNpbWFsLlpFUk8pICE9IDApCiAgICAgICAgICAgICAgICBiZEVycm9ycysrOwogICAgICAgICAgICAvLyBub3cgdHJ5IHRoaXMgd2l0aCBkb3VibGUuCiAgICAgICAgICAgIGRvdWJsZSBkID0gYmQuZG91YmxlVmFsdWUoKTsKICAgICAgICAgICAgZG91YmxlIGQyID0gTWF0aC5yb3VuZChkICogMTAwKSAvIDEwMC4wOwoKICAgICAgICAgICAgLy8gaGFzIGFueSBpbmZvcm1hdGlvbiBiZWVuIGxvdHMsIHVzZSBCaWdEZWNpbWFsIHRvIGRvIGNhbGN1bGF0aW9ucyB0byBiZSBzdXJlIG9mIG5vIGFjY2lkZW50YWwgZXJyb3JzLgogICAgICAgICAgICBCaWdEZWNpbWFsIGJkMyA9IEJpZ0RlY2ltYWwudmFsdWVPZihkMik7CiAgICAgICAgICAgIEJpZ0RlY2ltYWwgZXJyb3IzID0gYmQzLnJlbWFpbmRlcihuZXcgQmlnRGVjaW1hbCgiMC4wMSIpKTsKICAgICAgICAgICAgaWYgKGVycm9yMy5jb21wYXJlVG8oQmlnRGVjaW1hbC5aRVJPKSAhPSAwKQogICAgICAgICAgICAgICAgZG91YmxlRXJyb3JzKys7CgogICAgICAgIH0KICAgICAgICBTeXN0ZW0ub3V0LnByaW50ZigiQmlnRGVjaW1hbCBlcnJvcnMgJSxkICYgZG91YmxlIGVycm9ycyAlLGQlbiIsIGJkRXJyb3JzLCBkb3VibGVFcnJvcnMpOwogICAgfQp9
Main.java:13: error: cannot find symbol
for(BigDecimal bd = BigDecimal.ZERO; bd.compareTo(BigDecimal.ONE) <=0 ; bd = bd.add(new BigDecimal("0.0001"))) {
^
symbol: class BigDecimal
location: class Ideone
Main.java:13: error: cannot find symbol
for(BigDecimal bd = BigDecimal.ZERO; bd.compareTo(BigDecimal.ONE) <=0 ; bd = bd.add(new BigDecimal("0.0001"))) {
^
symbol: variable BigDecimal
location: class Ideone
Main.java:13: error: cannot find symbol
for(BigDecimal bd = BigDecimal.ZERO; bd.compareTo(BigDecimal.ONE) <=0 ; bd = bd.add(new BigDecimal("0.0001"))) {
^
symbol: variable BigDecimal
location: class Ideone
Main.java:13: error: cannot find symbol
for(BigDecimal bd = BigDecimal.ZERO; bd.compareTo(BigDecimal.ONE) <=0 ; bd = bd.add(new BigDecimal("0.0001"))) {
^
symbol: class BigDecimal
location: class Ideone
Main.java:15: error: cannot find symbol
BigDecimal bd2 = bd.setScale(2, RoundingMode.HALF_UP);
^
symbol: class BigDecimal
location: class Ideone
Main.java:15: error: cannot find symbol
BigDecimal bd2 = bd.setScale(2, RoundingMode.HALF_UP);
^
symbol: variable RoundingMode
location: class Ideone
Main.java:16: error: cannot find symbol
BigDecimal error = bd2.remainder(new BigDecimal("0.01"));
^
symbol: class BigDecimal
location: class Ideone
Main.java:16: error: cannot find symbol
BigDecimal error = bd2.remainder(new BigDecimal("0.01"));
^
symbol: class BigDecimal
location: class Ideone
Main.java:17: error: cannot find symbol
if (error.compareTo(BigDecimal.ZERO) != 0)
^
symbol: variable BigDecimal
location: class Ideone
Main.java:24: error: cannot find symbol
BigDecimal bd3 = BigDecimal.valueOf(d2);
^
symbol: class BigDecimal
location: class Ideone
Main.java:24: error: cannot find symbol
BigDecimal bd3 = BigDecimal.valueOf(d2);
^
symbol: variable BigDecimal
location: class Ideone
Main.java:25: error: cannot find symbol
BigDecimal error3 = bd3.remainder(new BigDecimal("0.01"));
^
symbol: class BigDecimal
location: class Ideone
Main.java:25: error: cannot find symbol
BigDecimal error3 = bd3.remainder(new BigDecimal("0.01"));
^
symbol: class BigDecimal
location: class Ideone
Main.java:26: error: cannot find symbol
if (error3.compareTo(BigDecimal.ZERO) != 0)
^
symbol: variable BigDecimal
location: class Ideone
14 errors