这篇文章主要介绍“Java中Double除保留后小数位的方法有哪些”,在日常操作中,相信很多人在Java中Double除保留后小数位的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中Double除保留后小数位的方法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
返回double型的
1.能四舍五入
double d = 114.145;d = (double) Math.round(d * 100) / 100;System.out.println(d);
2. BigDecimal.ROUND_HALF_UP表示四舍五入,BigDecimal.ROUND_HALF_DOWN也是五舍六入,BigDecimal.ROUND_UP表示进位处理(就是直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾数。
double d = 114.145;BigDecimal b = new BigDecimal(d);d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(d);
返回String型的
1.#.00表示保留后两位,它的处理方式是直接截掉不要的尾数,不四舍五入。
double d = 114.145;DecimalFormat df = new DecimalFormat("#.00");String str = df.format(d);System.out.println(str);
2.%.2f表示保留后两位,能四舍五入。
double d = 114.145;String.format("%.2f", d);
3.RoundingMode.HALF_DOWN表示 五舍六入,负数先取绝对值再五舍六入再负数,RoundingMode.HALF_UP:表示四舍五入,负数先取绝对值再五舍六入再负数。
double d = 114.145NumberFormat nf = NumberFormat.getNumberInstance();// 保留两位小数nf.setMaximumFractionDigits(2); // 如果不需要四舍五入,可以使用RoundingMode.DOWNnf.setRoundingMode(RoundingMode.UP);System.out.println(nf.format(d));
补充:java中保留2位小数的四种方法
package CodeJava_Leet;import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;/** * Created by Yechengpeng on 2016-08-14. */public class Test { public static void main(String[] args) { double d = 756.2345566;
//方法一:最简便的方法,调用DecimalFormat类 DecimalFormat df = new DecimalFormat(".00"); System.out.println(df.format(d));
//方法二:直接通过String类的format函数实现 System.out.println(String.format("%.2f", d));
//方法三:通过BigDecimal类实现 BigDecimal bg = new BigDecimal(d); double d3 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(d3);
//方法四:通过NumberFormat类实现 NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(2); System.out.println(nf.format(d)); }}
到此,关于“Java中Double除保留后小数位的方法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。