学习随笔--Java类型转换如何保留小数点后的零

今天做项目时候遇到一个挺好玩的事情,项目涉及到屏幕上显示数据,需要保留规定小数位数

因为用的是和后台交互的数据,所以我直接拿过来的String,字符串转换成小数倒还正常,我用的直接是double保存,String转换成Integer之后除以想保留地位数

比如这个例子后面÷10000,就是保留小数点后四位

String s = "20000";
double v = Integer.parseInt(s) / 1000.00;

运行的时候多数都正常,但是当末尾有零的时候,却被自动舍掉了,这肯定不满足保留规定位数的要求了

仔细研究了一下发现格式化数据这个类DecimalFormat,参数就是规定的数据格式,然后用format格式化数据即可

String ss = "20000";
double vs = Integer.parseInt(ss) / 1000.00;
DecimalFormat dfs = new DecimalFormat("0.00");
String s3s = dfs.format(vs);

最后两行即是使用方法,需要注意format参数可以是很多类型,但是返回值是String

另外提供一种Math工具保留小数位数的方法

double a=15.32743859;
double b=Math.round(a*10000)/10000.0000;//保留四位小数

这种四舍五入的形式保留小数,想保留n位小数,就Math.round(a*10的n次方)/10的n次方.n个0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值