用java实现,数字四舍五入时,只小数部分四舍五入,整数不进位

本文介绍了一个Java方法,该方法实现了对浮点数的小数部分进行四舍五入处理,同时保持整数部分不变。此外,还提供了一个用于格式化数字的方法,能够将数字转换成带有逗号分隔符的字符串形式,并可指定保留的小数位数。

 

ExpandedBlockStart.gif代码
/**
  * 只小数部分四舍五入,整数不进位
  * @param d
  * @return
  */
 public Double checkNumber(Double d){
  String[] strArray = d.toString().replace('.',',').split(",");
  String left = strArray[0];
  String right = strArray[1];
  if(right.length()<3){
   return d;
  }else{
      Character char2 = right.charAt(1);
      Character char3 = right.charAt(2);
      if(char2.equals('9')&&Integer.parseInt(char3.toString())>=5){
          return Double.parseDouble(d.toString().substring(0,d.toString().length()-1));
      }else{
          return Double.parseDouble(formatNumeric(d,0));
      }
  }
 }
// 数字转逗号分隔字符串,附加小数位数(保留8位小数,那么dec参数为6,即,最少要有2位小数)
 public static String formatNumeric(double numeric, int dec) {
  String p 
= "";
  
for (int i = 0; i < dec; i++)
   p 
+= "#";
  
return formatNumeric(numeric, "#,##0.00" + p);
 }
 
// 数字转字符串
 public static String formatNumeric(double numeric, String pattern) {
  
if (numeric == -0)
   numeric 
= 0;
  DecimalFormat decFormat 
= new DecimalFormat(pattern);
  
return decFormat.format(numeric);
 }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值