28 * @run main StrippingZerosTest
29 * @run main/othervm -XX:+AggressiveOpts StrippingZerosTest
30 * @author Joseph D. Darcy
31 */
32
33 import java.math.*;
34
35 public class StrippingZerosTest {
36 public static void main(String argv[]) {
37 BigDecimal [][] testCases = {
38 {new BigDecimal("1.00000"), new BigDecimal("1")},
39 {new BigDecimal("1.000"), new BigDecimal("1")},
40 {new BigDecimal("1"), new BigDecimal("1")},
41 {new BigDecimal("0.1234"), new BigDecimal("0.1234")},
42 {new BigDecimal("0.12340"), new BigDecimal("0.1234")},
43 {new BigDecimal("0.12340000000"), new BigDecimal("0.1234")},
44 {new BigDecimal("1234.5678"), new BigDecimal("1234.5678")},
45 {new BigDecimal("1234.56780"), new BigDecimal("1234.5678")},
46 {new BigDecimal("1234.567800000"), new BigDecimal("1234.5678")},
47 {new BigDecimal("0"), new BigDecimal("0")},
48 {new BigDecimal("0e100"), new BigDecimal("0e100")},
49 {new BigDecimal("0e-100"), new BigDecimal("0e-100")},
50 {new BigDecimal("10"), new BigDecimal("1e1")},
51 {new BigDecimal("20"), new BigDecimal("2e1")},
52 {new BigDecimal("100"), new BigDecimal("1e2")},
53 {new BigDecimal("1000000000"), new BigDecimal("1e9")},
54 {new BigDecimal("100000000e1"), new BigDecimal("1e9")},
55 {new BigDecimal("10000000e2"), new BigDecimal("1e9")},
56 {new BigDecimal("1000000e3"), new BigDecimal("1e9")},
57 {new BigDecimal("100000e4"), new BigDecimal("1e9")},
58 // BD value which larger than Long.MaxValue
59 {new BigDecimal("1.0000000000000000000000000000"), new BigDecimal("1")},
60 {new BigDecimal("-1.0000000000000000000000000000"), new BigDecimal("-1")},
61 {new BigDecimal("1.00000000000000000000000000001"), new BigDecimal("1.00000000000000000000000000001")},
62 {new BigDecimal("1000000000000000000000000000000e4"), new BigDecimal("1e34")},
63 };
64
65 for(int i = 0; i < testCases.length; i++) {
66
67 if (!(testCases[i][0]).stripTrailingZeros().equals(testCases[i][1])) {
68 throw new RuntimeException("For input " + testCases[i][0].toString() +
69 " did not received expected result " +
|
28 * @run main StrippingZerosTest
29 * @run main/othervm -XX:+AggressiveOpts StrippingZerosTest
30 * @author Joseph D. Darcy
31 */
32
33 import java.math.*;
34
35 public class StrippingZerosTest {
36 public static void main(String argv[]) {
37 BigDecimal [][] testCases = {
38 {new BigDecimal("1.00000"), new BigDecimal("1")},
39 {new BigDecimal("1.000"), new BigDecimal("1")},
40 {new BigDecimal("1"), new BigDecimal("1")},
41 {new BigDecimal("0.1234"), new BigDecimal("0.1234")},
42 {new BigDecimal("0.12340"), new BigDecimal("0.1234")},
43 {new BigDecimal("0.12340000000"), new BigDecimal("0.1234")},
44 {new BigDecimal("1234.5678"), new BigDecimal("1234.5678")},
45 {new BigDecimal("1234.56780"), new BigDecimal("1234.5678")},
46 {new BigDecimal("1234.567800000"), new BigDecimal("1234.5678")},
47 {new BigDecimal("0"), new BigDecimal("0")},
48 {new BigDecimal("0e2"), BigDecimal.ZERO},
49 {new BigDecimal("0e-2"), BigDecimal.ZERO},
50 {new BigDecimal("0e42"), BigDecimal.ZERO},
51 {new BigDecimal("+0e42"), BigDecimal.ZERO},
52 {new BigDecimal("-0e42"), BigDecimal.ZERO},
53 {new BigDecimal("0e-42"), BigDecimal.ZERO},
54 {new BigDecimal("+0e-42"), BigDecimal.ZERO},
55 {new BigDecimal("-0e-42"), BigDecimal.ZERO},
56 {new BigDecimal("0e-2"), BigDecimal.ZERO},
57 {new BigDecimal("0e100"), BigDecimal.ZERO},
58 {new BigDecimal("0e-100"), BigDecimal.ZERO},
59 {new BigDecimal("10"), new BigDecimal("1e1")},
60 {new BigDecimal("20"), new BigDecimal("2e1")},
61 {new BigDecimal("100"), new BigDecimal("1e2")},
62 {new BigDecimal("1000000000"), new BigDecimal("1e9")},
63 {new BigDecimal("100000000e1"), new BigDecimal("1e9")},
64 {new BigDecimal("10000000e2"), new BigDecimal("1e9")},
65 {new BigDecimal("1000000e3"), new BigDecimal("1e9")},
66 {new BigDecimal("100000e4"), new BigDecimal("1e9")},
67 // BD value which larger than Long.MaxValue
68 {new BigDecimal("1.0000000000000000000000000000"), new BigDecimal("1")},
69 {new BigDecimal("-1.0000000000000000000000000000"), new BigDecimal("-1")},
70 {new BigDecimal("1.00000000000000000000000000001"), new BigDecimal("1.00000000000000000000000000001")},
71 {new BigDecimal("1000000000000000000000000000000e4"), new BigDecimal("1e34")},
72 };
73
74 for(int i = 0; i < testCases.length; i++) {
75
76 if (!(testCases[i][0]).stripTrailingZeros().equals(testCases[i][1])) {
77 throw new RuntimeException("For input " + testCases[i][0].toString() +
78 " did not received expected result " +
|