bigdecimal保留2位小数_bigdecimal保留两位小数显示00

bigdecimal保留2位小数_bigdecimal保留两位小数显示00作者:RaphetS第一种方法使用DecimalFormat类举个例子,假如我们需要保留两位小数,我们可以这样写DecimalFormatdf=newDecimalFormat(“0.00”);测试如下:doubled=0.200;DecimalFormatdf=newDecimalFormat(“0.00”);System.out.println(df.format(d))…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

作者:RaphetS

第一种方法

使用DecimalFormat类

举个例子,假如我们需要保留两位小数,我们可以这样写

DecimalFormat df = new DecimalFormat("0.00");

测试如下:

double d = 0.200;DecimalFormat df = new DecimalFormat("0.00");System.out.println(df.format(d));

输出结果为:
0.20

若double d=0.000;输出结果为0.00;
若double d=0;输出结果为0.00;
若double d=41.2345;输出结果为41.23;

经测试,不管double d的值为多少,最后结果都是正常的两位小数。

同理若是保留一位小数DecimalFormat df = new DecimalFormat(“0.0”);其他以此类推

若是这种写法DecimalFormat df = new DecimalFormat(“0.00”),不管传入的任何值,均保留两位小数

还有一种写法是这样:

double d = 41.123;DecimalFormat df = new DecimalFormat("#.##");System.out.println(df.format(d));

输出结果为:
41.12

若double d=2.00,输出结果为2;
若double d=41.001,输出结果为41;
若double d=41.010,输出结果为41.01;
若double d=0,输出结果为0;
若double d=0.200,输出结果为0.2;

总结:若是这种写法DecimalFormat df = new DecimalFormat(“#.##”),则保留小数点后面不为0的两位小数,这种写法不能保证保留2为小数,但能保证最后一位数不为0;

第二种方法

测试:

double d = 0.6544;String s=String.format("%.2f",d);System.out.println(s);

输出结果为:
0.65

若double d=0.6566,输出结果为0.66;
若double d=0,输出结果为0.00;

其中String s=String.format(“%.2f”,d)表示小数点后任意两位小数,其中2为表示两位小数,若需要三位小数,把2改为3即可,其他同理。

总结:这种方法不管传入的值是多少,均保留两位小数,并且符合四舍五入的规则。

第三种方法:

使用BigDecimal类

测试:

8d63aa0616dc217c7b2d18a01008ddba.png

输入结果:1.0

若double d=0,输出结果为0.0;
若double d=1.999,输出结果为2.0;
若double d=1.89,输出结果为1.89;

总结:使用这种写法若小数点后均为零,则保留一位小数,并且有四舍五入的规则。

源码

以下为Java测试类

28de38938de193bdbadb797887d83888.png
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190267.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 程序人生|从网瘾少年到微软、BAT、字节offer收割机逆袭之路「建议收藏」

    程序人生|从网瘾少年到微软、BAT、字节offer收割机逆袭之路「建议收藏」逆袭从来不是轻而易举

    2022年7月21日
    13
  • SpringMVC 中ModelAndView用法

    SpringMVC 中ModelAndView用法ModelAndView作用1.返回到指定的页面ModelAndView构造方法可以指定返回的页面名称   例:returnnewModelAndView("redirect:/m07.jsp");通过setViewName()方法跳转到指定的页面   例:mav.setViewName("hello"); 2.返回参数到指定页面的request作用于中使…

    2022年7月18日
    53
  • 麦克风阵列声源定位实现[通俗易懂]

    麦克风阵列声源定位实现[通俗易懂]麥克風陣列音源定位系統是利用麥克風陣列接收音訊,然後經由適當的演算法估算出音源入射麥克風陣列的方向角,即判斷出音源的位置方向。本專題著重於此演算法的程式撰寫,並實際測試二維及三維空間中單一音源入射的方向角,期望於演算速度及準確度上能有最好的效果。此系統完成後可搭配攝影機應用於視訊會議,隨時定位出發言者;也可應用於監視系統、玩具等。

    2025年12月11日
    2
  • java 常量表达式_JavaSwitch语句:常量表达式是必需的,但它是常量

    java 常量表达式_JavaSwitch语句:常量表达式是必需的,但它是常量万千封印我知道编译器需要在编译时知道表达式才能编译一个开关 但是为什么 foo ba 常数不是呢 虽然从字段初始化后执行的任何代码的角度来看 它们都是常量 但它们不是编译时间常数在 JLS 所要求的意义上 见 15 28 常量表达式的规格常数表达式 1 这指的是 4 12 4 最后变量它将 常量变量 定义为 我们称一个变量为原始类型或类型字符串 它是最终变量 并使用编译时常量表达式 15 28 初始化为常

    2025年10月26日
    4
  • Winform 界面 美化 界面库

    Winform 界面 美化 界面库官网[url=http://www.gotrance.com][/url][img=http://img.bbs.csdn.net/upload/201502/07/1423310141_531797.jpg][/img][img=http://img.bbs.csdn.net/upload/201502/07/1423310172_452400.jpg][/im

    2022年5月27日
    37
  • 视觉SLAM技术_智能视觉技术

    视觉SLAM技术_智能视觉技术https://www.sohu.com/a/258235815_468626

    2022年10月1日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号