java bigdecimal 中怎么做到:保留n位小数,第n位小数是0的时候也要输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java bigdecimal 中怎么做到:保留n位小数,第n位小数是0的时候也要输出相关的知识,希望对你有一定的参考价值。
参考技术A import java.math.BigDecimal;public class FormatBigDe
public static void main(String[] args)
BigDecimal decimal = new BigDecimal("213432.421342314");
System.out.println(String.format("%.2f", decimal)); //学过C语言,应该懂怎么控制
本回答被提问者采纳 参考技术B //去后缀0
BigDecimal bd = new BigDecimal("12000.87300");
bd = bd.stripTrailingZeros();
System.out.println(bd);
bd = new BigDecimal("1.2E-3");
// bd = new BigDecimal("1.2E+3");
//去科学记数
if(bd.scale()<0)
bd = bd.setScale(0);
System.out.println(bd);
//保留N位小数. N=5:
bd = new BigDecimal("12000.873000");
bd = bd.setScale(5, BigDecimal.ROUND_HALF_UP);
System.out.println(bd);
java如何做到四舍五入
方法一:四舍五入
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, RoundingMode.HALF_UP).doubleValue();
方式二:
java.text.DecimalFormat df = new java.text.DecimalFormat("#.00");
df.format(你要格式化的数字);
方式三:
double d = 3.1415926;
String result = String .format("%.2f");
注意:%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。
方式四:
此外如果使用struts标签做输出的话,有个format属性,设置为format="0.00"就是保留两位小数例如:
<fmt:formatNumber type="number" value="$10000.22/100" maxFractionDigits="0"/>
浮点数+0.5然后向下取整就行了,也就是只取整数部分
以上是关于java bigdecimal 中怎么做到:保留n位小数,第n位小数是0的时候也要输出的主要内容,如果未能解决你的问题,请参考以下文章