我有一个十进制值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);
答案 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);