Java如何保留指定小数位数

Java保存指定位小数

问题:需要将一个小数d保留n位输出

方法一:String.format

double d = 123.212378;
String s = String.format("%.nf", d);
double v = Double.parseDouble(s);

将n替换为小数点后的位数即可,此方法是会四舍五入的。

方法二:DecimalFormat

double d = 123.212378;
java.text.DecimalFormat df =new java.text.DecimalFormat("#.000");  
String s = df.format(d);
double v = Double.parseDouble(s);

此方法也是是会四舍五入的,方式一更简洁

方法三:NumberFormat

double d = 123.212378;
NumberFormat ddf1=NumberFormat.getNumberInstance() ;
ddf1.setMaximumFractionDigits(3);
String s = ddf1.format(d) ;

如果不用四舍五入,那么直接将小数转换为字符串,再对字符串进行截取即可

double d = 123.21573;
String s = String.valueOf(d);
//保留小数点后3位,非四舍五入
String substring = s.substring(0, s.indexOf('.') + 4);
double v = Double.parseDouble(substring);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值