ceil或Java中的小数点后四舍五入

时间:2020-04-07 13:59:21

标签: java decimalformat

我有一个十进制值46.58,我希望它像46.60或对于46.44,它将像46.40。 尝试了几种方法,例如Math类的舍入函数和Bigdecimal,但是在十进制值之后并没有成功。

BigDecimal bigDecimal = new BigDecimal(value);
bigDecimal = bigDecimal.setScale(2,BigDecimal.ROUND_HALF_UP);
value = bigDecimal.doubleValue();
double value = Math.round(decimalValue);

2 个答案:

答案 0 :(得分:3)

首先,您需要使用标准的上半python3 pipeline.py \ --job_name <JOB_NAME> --project <PROJECT_NAME> \ --runner DataflowRunner \ --region <REGION> \ --temp_location gs://<BUCKET_NAME>/temp \ --setup_file /<FULL_PATH>/setup.py 舍入到小数点后一位至小数点后,再将小数位增加到2:

RoundingMode

答案 1 :(得分:0)

以下解决方案对我有用。

    BigDecimal bigDecimal = new BigDecimal("46.58");
    bigDecimal = bigDecimal.setScale(1, RoundingMode.HALF_UP); 
    bigDecimal = bigDecimal.setScale(2, RoundingMode.UNNECESSARY); 
    double d = bigDecimal.doubleValue();
    String valstr = String.format("%.2f%n", d);
    System.out.println(valstr);