我是靠谱客的博主 凶狠路人,这篇文章主要介绍截取double型数据的小数点后两位的几种方法,现在分享给大家,希望可以做个参考。

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型数据内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(164)

评论列表共有 0 条评论

立即
投稿
返回
顶部