importjava.math.BigDecimal;publicclassDecimal{publicstaticvoidmain(String[]args)throwsException{Doublea=2999.985;BigDecimalb=newBigDecimal(a);doublef=b.setScale(2,BigDeci...
import java.math.BigDecimal;
public class Decimal {
public static void main(String[] args) throws Exception {
Double a = 2999.985;
BigDecimal b = new BigDecimal(a);
double f = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f);
System.out.println(new java.math.BigDecimal(Double.toString(199999.00*0.015)).setScale(2,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());
System.out.println(new java.math.BigDecimal(Double.toString(199999.00*0.015)).setScale(3,java.math.BigDecimal.ROUND_HALF_UP).doubleValue());
BigDecimal b2 = new BigDecimal(Double.toString(199999.00*0.015));
double f2 = b2.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f2);
}
输出分别是:
2999.99
2999.98
2999.985
2999.985
求问怎样才能将199999.00*0.015的结果变为2999.99?
展开