double或Double取整或保留n位小数(后续如果有需要再整理其他小数类型)
admin
2024-02-01 03:35:39
0

1. double或Double取整或保留n位小数

参考链接:

  • Java中double保留两位小数的四种方法 - 古家杰 - 博客园 (cnblogs.com)

  • java double类型保留两位小数4种方法_huaism的博客-CSDN博客

1.1 double取整

1.1.1 Math.floor()向上取整

 /*** Math.floor()向上取整:通过该函数计算后的返回值是舍去小数点后的数值*/double floor = Math.floor(3.0);System.out.println("floor = " + floor);// floor = 3.0double floor1 = Math.floor(3.3);System.out.println("floor1 = " + floor1);// floor1 = 3.0double floor2 = Math.floor(3.7);System.out.println("floor2 = " + floor2);// floor2 = 3.0

1.1.2 Math.ceil()向下取整

 /***  Math.ceil()向下取整:ceil函数只要小数点非0,将返回整数部分+1*/double ceil = Math.ceil(4.0);System.out.println("ceil = " + ceil);// ceil = 4.0double ceil1 = Math.ceil(4.3);System.out.println("ceil1 = " + ceil1);// ceil1 = 5.0double ceil2 = Math.ceil(4.8);System.out.println("ceil2 = " + ceil2);// ceil1 = 5.0

1.2 double保留1位小数

 double decimal = 3.1415926;​// 1. 使用BigDecimal的setScale方法BigDecimal oneDecimal = new BigDecimal(decimal);double v1 = oneDecimal.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();System.out.println("v1 = " + v1);// v1 = 3.1​// 2. 使用DecimalFormatDecimalFormat format1 = new DecimalFormat("#.0");String format11 = format1.format(decimal);double v11 = Double.parseDouble(format11);System.out.println("v11 = " + v11);// v11 = 3.1​// 3. 使用Sting自带的format方法String format111 = String.format("%.1f", decimal);double v111 = Double.parseDouble(format111);System.out.println("v111 = " + v111);// v111 = 3.1​// 4. 使用NumberFormat设置最大小数位数NumberFormat instance1111= NumberFormat.getInstance();instance1111.setMaximumFractionDigits(1);String format1111 = instance1111.format(decimal);double v1111 = Double.parseDouble(format1111);System.out.println("v1111 = " + v1111);// v11111 = 3.1// 或NumberFormat numberInstance11111 = NumberFormat.getNumberInstance();numberInstance11111.setMaximumFractionDigits(1);String format11111 = numberInstance11111.format(decimal);double v11111 = Double.parseDouble(format11111);System.out.println("v11111 = " + v11111);// v22222 = 3.14

1.3 double保留2位小数

 double decimal = 3.1415926;​// 1. 使用BigDecimal的setScale方法BigDecimal twoDecimal = new BigDecimal(decimal);double v2 = twoDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();System.out.println("v2 = " + v2);// v2 = 3.14​// 2. 使用DecimalFormatDecimalFormat format2 = new DecimalFormat("#.00");String format22 = format2.format(decimal);double v22 = Double.parseDouble(format22);System.out.println("v22 = " + v22);// v22 = 3.14​// 3. 使用Sting自带的format方法String format222 = String.format("%.2f", decimal);double v222 = Double.parseDouble(format222);System.out.println("v222 = " + v222);// v222 = 3.14​// 4. 使用NumberFormat设置最大小数位数NumberFormat instance2222 = NumberFormat.getInstance();instance2222.setMaximumFractionDigits(2);String format2222 = instance2222.format(decimal);double v2222 = Double.parseDouble(format2222);System.out.println("v2222 = " + v2222);// v2222 = 3.14// 或NumberFormat numberInstance22222 = NumberFormat.getNumberInstance();numberInstance22222.setMaximumFractionDigits(2);String format22222 = numberInstance22222.format(decimal);double v22222 = Double.parseDouble(format22222);System.out.println("v22222 = " + v22222);// v22222 = 3.14

相关内容

热门资讯

我国首个全国产控制系统水光互补... 据国资委官网消息,近日我国首个全国产控制系统水光互补项目——华能小湾水光互补项目在云南正式投运,标志...
2026快手创新与知识产权白皮... 快手以技术创新链与产业应用链双螺旋为核心架构,搭配知识产权支撑体系,形成 AI 时代完整的创新与价值...
被救活了!澳洲这个知名网购平台... 好消息!Click Frenzy被救活啦! Click Frenzy,是澳洲一个线上大促平台,前段时...
追觅CEO俞浩一天发了117条... 近日,追觅科技CEO俞浩在个人社交平台开启超高强度更新模式。短短三天时间里,他在多个社交平台密集发布...
“红利+”策略指数走势分化,价... 5月6日早盘,市场震荡上行,科技成长方向表现强势,“红利+”策略指数走势分化。截至午间收盘,国证自由...
工业增加值增速创五年新高 福田... 凭借在人工智能领域的深耕,企业扎堆的福田区的天使荟·千模应用加速器不仅摘得深圳多项荣誉,更于近日获评...
原创 敢... 大家好,我是言叔。最近,79岁的“玻璃大王”曹德旺在公开场合放出一句霸气十足的狠话——面对美国可能加...
原创 丧... 溃败边缘狗急跳墙!泽连斯基攻击自家核电站,要拉欧洲同归于尽。战场即将崩盘、停战必死无疑,泽连斯基早已...
A股大涨,超4000只个股上涨... 五一小长假后首个交易日,A股三大指数集体高开,其中,上证指数高开0.57%,深证成指高开1.43%,...
五粮液的大戏,只是拉开序幕 4月30日,赶在五一假期前最后一个交易日,趁着全国人民准备出门旅游的当口,五粮液甩出了多份公告。 其...
原创 存... 这几天发生了不少大事,我们简单捋一捋。三部门放大招,要扩大科技创新贷款投放。 美国对欧盟汽车加征25...
A2奶粉因检出“呕吐毒素”在美... 北京5月5日电(记者 赵方园)新西兰乳企a2牛奶公司卷入蜡样芽孢杆菌毒素召回风波。 5月3日晚,中国...
新股消息 | 从招股书看好医生... 智通财经APP获悉,当市场仍习惯用“传统互联网医疗平台”甚至“传统医药流通渠道”来理解好医生云医疗时...
科创50指数大涨超8% 半导体... 上证报中国证券网讯 5月6日,A股主要股指早盘集体走强。截至午间收盘,沪指涨1.27%,深证成指涨2...
体验经济蓬勃发展,“五一”假期... 今年劳动节假期,部分省市放春假提前预热“假日经济”,传统热门目的地客流量持续增长,曾经的“小众目的地...
互学互鉴促合作 携手共赢谋发展... 5月4日,新乡市工商联“新商课堂”九期班开展企业互访活动。 首站参访了新乡市瑞龙商贸有限公司,该企...
港股异动|诺比侃大跌15.8%... 诺比侃(2635.HK)大幅下跌15.8%,现报20.24港元股价再度逼近上市低位,市值76.7亿港...
文远知行股权曝光:韩旭持股6.... 雷递网 雷建平 5月6日 文远知行(WeRide)日前发布截至2025年12月31日的年报。年报显示...
马斯克同意支付超1000万元罚... 美国证券交易委员会(SEC)与马斯克就收购推特期间的违规诉讼达成和解,相关法庭文件正式提交。 根据协...
大盘放量上攻,全市场半日成交额... 5月6日早盘,A股三大指数集体走强,沪指涨1.27%,冲击五连阳,全市场成交额超2万亿元,较上一交易...