概述
double d = 674.89887948378493;
1. 此种方法返回的是由原数据四舍五入的数据,但是此种方法不适用于当d为int型值的时候,当d为int型值的时候(如d = 674),则返回的是d本身(如674):
java.text.DecimalFormat dFormat = new DecimalFormat(“#.##”);
String str = dFormat.format(d);
2. 此种方法返回的是由原数据四舍五入的数据,同样适用于当d为int型值的时候,当d为int型值的时候(如d = 674),返回的同样是带有两位小数的值(如674.00):
BigDecimal bDecimal = new BigDecimal(d);
bDecimal = bDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);
3. 此种方法返回的是截取的值(返回值是674.0)
d = ((int)d * 100) / 100.0;
4. 此种方法返回的是截取的值(返回值是675.0)
Long l = Math.round(d);
d = l * 100 / 100.0;
5. 此种方法返回的是截取的数据,同样本方法不适用于当d为int型值的情况,其当d为int型的时候,返回值为int型值本身(如当d = 674时,返回值是674):
DecimalFormat dFormat = new DecimalFormat();
dFormat.setMaximumFractionDigits(2);
dFormat.setGroupingSize(0);
dFormat.setRoundingMode(RoundingMode.FLOOR);
String str2 = dFormat.format(d);
6. 此种方法返回的是截取的数据,本方法不适用于当d为int型值的情况,若为int型值,会出现StringIndexOutOfBoundsException:
String str3 = String.valueOf(d);
String str4 = str3.substring(0, str3.indexOf(“.”) + 3);
7. 此种方法返回的是四舍五入的数据,本方法不适用于当d为int型值的情况,当d为int型值的时候,返回的是d本身(如当d = 476时,返回值是476):
NumberFormat nFormat = NumberFormat.getNumberInstance();
nFormat.setMaximumFractionDigits(2);
String str5 = nFormat.format(d);
最后
以上就是凶狠路人为你收集整理的截取double型数据的小数点后两位的几种方法的全部内容,希望文章能够帮你解决截取double型数据的小数点后两位的几种方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复