首页 > 编程语言 >java 如何保留小数位的0?(#.##与0.00的区别)

java 如何保留小数位的0?(#.##与0.00的区别)

时间:2023-06-02 11:11:42浏览次数:43  
标签:java #.## 0.00 保留 位数 小数位

1.情景展示

如上图所示,在java语言中,如果后面的小数位是零的话,会被自动抹除。

但在实际场景中,我们往往需要对小数位进行管理(统一展示小数的位数):

不足小数位的进行补零操作,多余的小数位进行舍弃或者四舍五入。

具体应如何实现?

2.具体分析

通过DecimalFormat.format()方法实现。

3.解决方案

对数值进行格式化的方式有两种,一种是#.##,另一种是0.00。

两者的区别,其实就是#与0的区别,下面进行举例说明。

DecimalFormat.format()返回的是String类型。

#.##

保留两位小数,通常用于被格式的数值,它的小数位明显多于要保留的位数(>2)。

如果,被格式的数值,它的小数位少于要保留的位数(<2),不进行补零操作。

我们可以看到,当小数位较少时,执行的是:舍弃剩余的小数(不四舍五入)。

当小数位很多时,执行的是四舍五入操作。

不知道是怎么回事,应该是java的Double和Float进行计算时出现的损失精度问题。

0.00

保留两位小数,通常用于被格式的数值,它的小数位明显多于要保留的位数(>2)。

如果,被格式的数值,它的小数位少于要保留的位数(<2),进行补零操作。

 

我们可以看到,0与#唯一的区别,就是:

0:当实际小数位不足要保留的位数时,会自动补零,补齐剩余位数;

#:当实际小数位不足要保留的位数时,不补零。

 

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

标签:java,#.##,0.00,保留,位数,小数位
From: https://www.cnblogs.com/Marydon20170307/p/17451205.html

相关文章

  • 6.4. HttpClient
    1.什么是HttpClient?HttpClient是Java11中引入的一个新特性,用于支持同步和异步发送HTTP请求以及处理HTTP响应。它提供了简单易用的API,使得发送HTTP请求变得非常简单。2.HttpClient的主要组件HttpClient由以下几个主要组件组成:HttpClient:用于发送请求的主要类。HttpRequest......
  • 怎么创建Java项目并在项目下创建包再创建类
    1. 如何创建Java项目?第一步:打开idea,选中Create New Project第二步:选择Java项目,选择配置好的JDK环境,选中JavaEE版本为JavaEE8,然后点Next第三步:啥也不点,直接点Next第四步:填你的项目名称(根据需求命名),选项目路径,点击Finish,完成项目创建到这里,一个简单的Java项目就创建完毕了!接下来我......
  • IDE 中登录 Github 报错 Invalid authentication data. 404 Not Found-Not Found.
    IDE中登录 Github 报错Invalidauthenticationdata.404NotFound-NotFound. 一、方法一使用token令牌进行身份验证(推荐)相对于使用账号密码,token令牌是一种更安全的身份验证方式。1、进入Github的token管理页面:https://github.com/settings/tokens如下图可见,我之前在ID......
  • IDE 中登录 Github 报错 Invalid authentication data. 404 Not Found-Not Found.
    IDE中登录 Github 报错Invalidauthenticationdata.404NotFound-NotFound. 一、方法一使用token令牌进行身份验证(推荐)相对于使用账号密码,token令牌是一种更安全的身份验证方式。1、进入Github的token管理页面:https://github.com/settings/tokens如下图可见,我之前在ID......
  • 问题解决:Ubuntu18.04显示器分辨率不正常
    在Ubuntu18.04下出现显示器分辨率不正确的情况,只能选择1024x768的分辨率,没有其它选项,显示器本身可以支持1920x1080的分辨率。经查询,采用cvt,xrandr的方法不成功,显示xrandr:Failedtogetsizeofgammaforoutputdefault的错误,采用修改grub的方法如下解决方法修改/etc/defaul......
  • kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future versi
    问题现象为通过kubectl进入pods时提示在未来版本中将移除这种进入这种方式,需要使用新的命令格式进入[root@master~]#kubectlexecmyweb-c5xq6-it/bin/bashkubectlexec[POD][COMMAND]isDEPRECATEDandwillberemovedinafutureversion.Usekubectlexec[POD]--......
  • 5.8 构造方法与匿名对象
    classPerson{privateStringname;//private对外不可修改,对类内部是可见的;settergetter设置或获得属性;privateintage;//98%都需要封装的;//构造方法的重载;publicPerson(){name="无名氏";age=-2;}publicPer......
  • 剑指 Offer 67. 把字符串转换成整数
    题目描述:写一个函数StrToInt,实现把字符串转换成整数这个功能。不能使用atoi或者其他类似的库函数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合......
  • JavaScript中的循环(6个)
    LoopesforwhiledowhileforofforEachforin1.forfor(initialization,condition,increment/decrement){//codegoeshere}eg:for(leti=0;i<6;i++){console.log(i)}2.whileUsingthewhileloopwhenwedonotknowhowmanitera......
  • ENVI 5.7/IDL 8.9 新特性介绍
    1ENVI5.7新特性ENVI5.7/IDL8.9于2023年5月正式发布,ENVI具备如下新增和改进的特性:新增支持数据类型新增支持SAR数据FLAASH模块更新全新变化检测工作流 工具箱部分工具更新全新交互式视域分析工具新增菜单和操作选项新增ENVITasksNITF更新新增......