浮点数保留指定位数的小数,小数位自动去掉多余的0

编程入门 行业动态 更新时间:2024-10-26 23:25:24

浮点数保留指定位数的小数,<a href=https://www.elefans.com/category/jswz/34/1703462.html style=小数位自动去掉多余的0"/>

浮点数保留指定位数的小数,小数位自动去掉多余的0

通过DecimalFormat.format可以按照指定的格式格式化数据。

public class test {
public static void main(String[] args) {
DecimalFormat d=new DecimalFormat(“#.#”);//在有小数的情况下留一位小数,默认是四舍五入
BigDecimal decimal=new BigDecimal(“3.1415926”);
double s=2.58863;
double s1=2.58963;
double s2=0;
String format1 = d.format(decimal);
String format2 = d.format(s);
String format3 = d.format(s1);
String format4 = d.format(s2);
System.out.println(format1);
System.out.println(format2);
System.out.println(format3);
System.out.println(format4);
}
}
运行结果:

模板语法

#:这个符号代表一个数字,会把可以去掉的0去掉,比如#.##,按照语法,保留两位小数,如果如果要格式化的数是1.597,正常来说是1.60,但因为后面的0可以去掉,所以格式化之后是1.6
0:这个符号代表一个数字,如果该位置没有数字,则显示0。比如000.00,如果传入的是1.5,那么格式化之后就是001.50
.:这个符号代表小数点。
,:这个符号代表千位分隔符。
;:这个符号用于分隔正数和负数,左边是正数的格式,右边是负数的格式。
%:这个符号代表百分比。在字符串后面用上加上之后,会自动将数据转换成百分比的表达方式。比如#.##%,传入的是0.48567,则格式化的结果是48.57%
‰:这个符号代表千分比。和上面同理
E:这个符号代表科学计数法中的指数符号。
\u00A4:这个符号代表货币符号。

注意

如果想要数据必须保留一位小数,哪怕小数位是0.
如果使用#.0%,在碰到整数位是0的时候,也就是0.x的时候,前面的0会省略,导致结果是.x%,小数点前面缺少0。
因此需要使用0.0%,这样获得的结果一定会保证个数位是有值的,哪怕是0。这样就会显示0.x%。符合预期。
如果是希望将小数点后面多余的0去掉,就可以用#.#%或0.#%,这样在遇到小数位后面有多余的0的时候会自动去掉。
无论是要保留多少位小数,在个位上面都可以放一个0来确保个位上一定会有数据。0.#%,0.0%

更多推荐

浮点数保留指定位数的小数,小数位自动去掉多余的0

本文发布于:2023-11-15 21:25:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1606608.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:小数位   小数   位数   多余   浮点数

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!