保留小数点位数和格式

JS 中

1. double运算
c = parseFloat(a) + parseFloat(b))

2. 四舍五入,保留两位小数
c = c.toFixed(2);

3. 去掉小数点后面多余的0
c = c.toFixed(2)*100/100;


JAVA中
Java代码 复制代码 收藏代码
  1. //四舍五入,保留指定小数位
  2. public static Double roundDouble(Object obj, int scale){
  3. double d = 0;
  4. try{
  5. d = Double.parseDouble(obj.toString().replaceAll(",", ""));
  6. } catch (Exception e) {
  7. d = 0;
  8. }
  9. //四舍五入,保留两位小数
  10. BigDecimal bd = new BigDecimal(d);
  11. bd = bd.setScale(scale, BigDecimal.ROUND_HALF_UP);
  12. d = bd.doubleValue();
  13. return d;
  14. }
  15. //转成字符串,去掉科学计数法
  16. public static String roundFormat(Object obj){
  17. String str = "0";
  18. try{
  19. Double d = Double.parseDouble(obj.toString().replaceAll(",", ""));
  20. //四舍五入,保留两位小数
  21. BigDecimal bd = new BigDecimal(d);
  22. bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
  23. d = bd.doubleValue();
  24. //去除科学计数法
  25. DecimalFormat df = new DecimalFormat("#.##");
  26. str = df.format(d);
  27. } catch (Exception e) {
  28. str = "0";
  29. }
  30. return str;
  31. }
  32. //除法
  33. public static Double divideRound(Double a, Double b){
  34. try {
  35. if (b == 0) {
  36. return 0.0;
  37. } else {
  38. BigDecimal bd = new BigDecimal(a/b);
  39. bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
  40. double d = bd.doubleValue();
  41. bd = null;
  42. return d;
  43. }
  44. } catch (Exception e) {
  45. return 0.0;
  46. }
  47. }
//四舍五入,保留指定小数位
public static Double roundDouble(Object obj, int scale){
		
		double d = 0;
	 	try{
			d  = Double.parseDouble(obj.toString().replaceAll(",", ""));
		  } catch (Exception e) {
		  	d = 0;
		  }

		//四舍五入,保留两位小数
		BigDecimal bd = new BigDecimal(d);  
		bd = bd.setScale(scale, BigDecimal.ROUND_HALF_UP);
		d = bd.doubleValue(); 
		  
		return d;
	}


//转成字符串,去掉科学计数法
public static String roundFormat(Object obj){
	 	String str = "0";
	 	try{
			Double d  = Double.parseDouble(obj.toString().replaceAll(",", ""));
			 
			//四舍五入,保留两位小数
			BigDecimal bd = new BigDecimal(d);  
			bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
			d = bd.doubleValue(); 
			      
			//去除科学计数法 
			DecimalFormat df = new DecimalFormat("#.##"); 
			str = df.format(d);			
			
		  } catch (Exception e) {
		  		str = "0";
		  }
		  
		  
		return str;
	 }


//除法
public static Double divideRound(Double a, Double b){
		try {
			if (b == 0) {
				return 0.0;
			} else {
				BigDecimal bd = new BigDecimal(a/b);  
		        bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);  
		        double d = bd.doubleValue();  
		        bd = null;  
		        return d;  
			}
		} catch (Exception e) {
	  		return 0.0;
	  	}
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值