@Override public String toSQL(Object value) { BigDecimal d = (BigDecimal) value; return d.toEngineeringString(); } }
BigDecimal bigDecimal = BigDecimal.valueOf(100000.0) .multiply(BigDecimal.valueOf(100d)) .stripTrailingZeros(); System.out.println("plain : " + bigDecimal.toPlainString()); System.out.println("scientific : " + bigDecimal.toEngineeringString());
public String toEngineeringString() { return value.toEngineeringString(); }
public static String formatDecimal(BigDecimal b, int max) { return b.setScale(max, RoundingMode.HALF_EVEN).stripTrailingZeros().toEngineeringString(); }
BigDecimal val1=new BigDecimal(97346822*3f); BigDecimal val2=new BigDecimal(97346822*3.0); System.out.println(val1.subtract(val2, MathContext.UNLIMITED).toEngineeringString()); System.out.println(val1.equals(val2)); System.out.println(val1.compareTo(val2));
BigDecimal bd = new BigDecimal("8678679532108467840356746356832624562456786656736.6456442652456345673656"); int decimalOffset = 0; if (bd.toPlainString().indexOf('.')>=0) decimalOffset=1; System.out.println(bd.toPlainString().length()-decimalOffset<32 ? bd.toPlainString() : bd.toEngineeringString());
@Override public String toString() { long l=(long)value; if (l==value) return Long.toString(l); String res=BigDecimal.valueOf(value).toEngineeringString(); if (res.endsWith(".0")) return res.substring(0, res.length()-2); else if (res.contains("E")) { res=Double.toString(value); res=res.replace("E-", "e-").replace("E", "e+"); } return res; }
BigDecimal val1=new BigDecimal(3.1f); BigDecimal val2=new BigDecimal(3.1); System.out.println(val1.subtract(val2, MathContext.UNLIMITED).toEngineeringString()); //-95.367431729442841970012523233890533447265625E-9 System.out.println(val1.equals(val2)); //false System.out.println(val1.compareTo(val2)); // -1 System.out.println(val1.precision()); // 22 System.out.println(val2.precision()); // 52
@Override public String toString() { long l=(long)value; if (l==value) return Long.toString(l); String res=BigDecimal.valueOf(value).toEngineeringString(); if (res.endsWith(".0")) return res.substring(0, res.length()-2); else if (res.contains("E")) { res=Double.toString(value); res=res.replace("E-", "e-").replace("E", "e+"); } return res; }
protected void serialize_bigdecimal(BigDecimal decimal, StringWriter sw, int level) { serialize_string(decimal.toEngineeringString(), sw, level); }
public class ExampleWithoutGenericSingletonFactory { static UnaryFunction<Object> ID_FUNC = new UnaryFunction<Object>() { public Object apply(Object arg) { return arg; } }; public static void main(String[] args) { BigDecimal b = new BigDecimal("1234.1241234"); BigDecimal b1 = (BigDecimal)(ID_FUNC.apply(b)); // have to cast here >_< System.out.println("engineeringstring val of b1 = " + b1.toEngineeringString()); } }
public void writeDecimal(BigDecimal value) { String rawValue = value.toEngineeringString(); writeString(rawValue); }
BigDecimal i = new BigDecimal(0.025); int n = 2; BigDecimal h1 = new BigDecimal(2000); BigDecimal h2 = new BigDecimal(4000); BigDecimal y1 = ((BigDecimal.ONE.add(i)).pow(n)).multiply(h1); BigDecimal y2 = ((BigDecimal.ONE.add(i)).pow(n)).multiply(h2); BigDecimal result = y1.add(y2); System.out.println(result.toEngineeringString());
void put_decimal(BigDecimal d) throws IOException { //"cdecimal\nDecimal\nU\n12345.6789\u0085R." out.write(Opcodes.GLOBAL); out.write("decimal\nDecimal\n".getBytes()); put_string(d.toEngineeringString()); out.write(Opcodes.TUPLE1); out.write(Opcodes.REDUCE); writeMemo(d); }
void put_decimal(BigDecimal d) throws IOException { //"cdecimal\nDecimal\nU\n12345.6789\u0085R." out.write(Opcodes.GLOBAL); out.write("decimal\nDecimal\n".getBytes()); put_string(d.toEngineeringString()); out.write(Opcodes.TUPLE1); out.write(Opcodes.REDUCE); writeMemo(d); }
@Override protected void accumulateDatatoJSON(JSONObject json) { json.accumulate("data", getValue().toEngineeringString()); }
public final void putLongDouble(final BigDecimal value) { byte[] ld = new byte[Type.LONGDOUBLE.size()]; Foreign.getInstance().longDoubleFromString(value.toEngineeringString(), ld, 0, Type.LONGDOUBLE.size()); getObjectBuffer().putArray(paramIndex, ld, 0, ld.length, ObjectBuffer.IN); paramOffset += PARAM_SIZE; ++paramIndex; }
public final void putLongDouble(final BigDecimal value) { byte[] ld = new byte[Type.LONGDOUBLE.size()]; Foreign.getInstance().longDoubleFromString(value.toEngineeringString(), ld, 0, Type.LONGDOUBLE.size()); getObjectBuffer().putArray(paramIndex, ld, 0, ld.length, ObjectBuffer.IN); paramOffset += PARAM_SIZE; ++paramIndex; }
public final void putLongDouble(final BigDecimal value) { byte[] ld = new byte[Type.LONGDOUBLE.size()]; Foreign.getInstance().longDoubleFromString(value.toEngineeringString(), ld, 0, Type.LONGDOUBLE.size()); getObjectBuffer().putArray(paramIndex, ld, 0, ld.length, ObjectBuffer.IN); paramOffset += PARAM_SIZE; ++paramIndex; }
@Test void ipmt() { final BigDecimal rate = new BigDecimal("0.1"); final BigDecimal principal = BigDecimal.valueOf(100); final int maxTerm = 10; assertSoftly(softly -> { softly.assertThat(FinancialUtil.ipmt(rate, 1, maxTerm, principal).toEngineeringString()) .isEqualTo(BigDecimal.TEN.negate().toEngineeringString()); softly.assertThat(FinancialUtil.ipmt(rate, maxTerm, maxTerm, principal)).isLessThan(BigDecimal.ZERO); }); }