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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IO多路复用

    了解新知识之前需要知道的一些知识同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行异步(asynchronous):阻塞(blocking):

    2022年3月29日
    56
  • 如何在Mac中打开pdm文件「建议收藏」

    在windows系统我们打开pdm文件同样都是使用powerdesigner,功能齐全强大,但是powerdesigner没有Mac版本。网上有个parsePDM下下来了也根本不能使用。下面我给上一个我目前在使用的工具,简单易用。使用起来十分方便点击这里下载文件

    2022年4月12日
    1.2K
  • idea2022.01.21激活码(注册激活)2022.02.15[通俗易懂]

    (idea2022.01.21激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~9A…

    2022年4月1日
    48
  • PCA降维算法总结以及matlab实现PCA(个人的一点理解)

    PCA降维算法总结以及matlab实现PCA(个人的一点理解)PCA的一些基本资料最近因为最人脸表情识别,提取的gabor特征太多了,所以需要用PCA进行对提取的特征进行降维。本来最早的时候我没有打算对提取的gabor特征进行降维,但是如果一个图像时64*64,那么使用五个尺度八个方向的gabor滤波器进行滤波,这样提取的特征足足有64*64*5*8这么多,如果图像稍微大一点,比如12

    2025年7月25日
    3
  • Jieba分词简介[通俗易懂]

    Jieba分词简介[通俗易懂]Jieba分词官网:https://github.com/fxsjy/jieba 三种分词模式 Jieba提供了三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析; 全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义; 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。importjiebasent…

    2022年5月24日
    35
  • 怎么完全卸载赛门铁克_赛门铁克(sep)卸载方法

    怎么完全卸载赛门铁克_赛门铁克(sep)卸载方法卸载SEP(symantecendpointprotection),需要密码怎么办2011年12月08日下午1:50默认密码是symantec,或者Symantec1.点击“开始”->运行(或直接:Window徽标键+R)2.输入smc-stop终止SEP。如果跳出输入密码提示,则打开注册表(Window徽标键+R;输入regedit;敲回车),然后找到HKEY_LOCAL_MAC…

    2022年5月9日
    102

发表回复

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

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