金额:元与分之间转换

public static void main(String[] args) {
		System.out.println(fenToYuan("5000"));
	}
	
	   /**  
	     *   
	     * 功能描述:金额字符串转换:单位分转成单元  
	        
	     * @param str 传入需要转换的金额字符串  
	     * @return 转换后的金额字符串  
	     */   
	    public static String fenToYuan(Object o) {  
	        if(o == null)  
	            return "0.00";  
	        String s = o.toString();  
	        int len = -1;     
	        StringBuilder sb = new StringBuilder();  
	        if (s != null && s.trim().length()>0 && !s.equalsIgnoreCase("null")){  
	            s = removeZero(s);  
	            if (s != null && s.trim().length()>0 && !s.equalsIgnoreCase("null")){  
	                len = s.length();  
	                int tmp = s.indexOf("-");  
	                if(tmp>=0){  
	                    if(len==2){  
	                        sb.append("-0.0").append(s.substring(1));  
	                    }else if(len==3){  
	                        sb.append("-0.").append(s.substring(1));  
	                    }else{  
	                        sb.append(s.substring(0, len-2)).append(".").append(s.substring(len-2));                  
	                    }                         
	                }else{  
	                    if(len==1){  
	                        sb.append("0.0").append(s);  
	                    }else if(len==2){  
	                        sb.append("0.").append(s);  
	                    }else{  
	                        sb.append(s.substring(0, len-2)).append(".").append(s.substring(len-2));                  
	                    }                     
	                }  
	            }else{  
	                sb.append("0.00");  
	            }  
	        }else{  
	            sb.append("0.00");  
	        }  
	        return sb.toString();         
	    }  

	   /**  
	     *   
	     * 功能描述:金额字符串转换:单位元转成单分  
	       
	     * @param str 传入需要转换的金额字符串  
	     * @return 转换后的金额字符串  
	     */       
	    public static String yuanToFen(Object o) {  
	        if(o == null)  
	            return "0";  
	        String s = o.toString();  
	        int posIndex = -1;  
	        String str = "";  
	        StringBuilder sb = new StringBuilder();  
	        if (s != null && s.trim().length()>0 && !s.equalsIgnoreCase("null")){  
	            posIndex = s.indexOf(".");  
	            if(posIndex>0){  
	                int len = s.length();  
	                if(len == posIndex+1){  
	                    str = s.substring(0,posIndex);  
	                    if(str == "0"){  
	                        str = "";  
	                    }  
	                    sb.append(str).append("00");  
	                }else if(len == posIndex+2){  
	                    str = s.substring(0,posIndex);  
	                    if(str == "0"){  
	                        str = "";  
	                    }  
	                    sb.append(str).append(s.substring(posIndex+1,posIndex+2)).append("0");  
	                }else if(len == posIndex+3){  
	                    str = s.substring(0,posIndex);  
	                    if(str == "0"){  
	                        str = "";  
	                    }  
	                    sb.append(str).append(s.substring(posIndex+1,posIndex+3));  
	                }else{  
	                    str = s.substring(0,posIndex);  
	                    if(str == "0"){  
	                        str = "";  
	                    }  
	                    sb.append(str).append(s.substring(posIndex+1,posIndex+3));  
	                }  
	            }else{  
	                sb.append(s).append("00");  
	            }  
	        }else{  
	            sb.append("0");  
	        }  
	        str = removeZero(sb.toString());  
	        if(str != null && str.trim().length()>0 && !str.trim().equalsIgnoreCase("null")){  
	            return str;  
	        }else{  
	            return "0";  
	        }  
	    }  
	  
/**  
 *   
 * 功能描述:去除字符串首部为"0"字符  
    
 * @param str 传入需要转换的字符串  
 * @return 转换后的字符串  
 */  
public static String removeZero(String str){     
    char  ch;    
    String result = "";  
    if(str != null && str.trim().length()>0 && !str.trim().equalsIgnoreCase("null")){                  
        try{              
            for(int i=0;i<str.length();i++){  
                ch = str.charAt(i);  
                if(ch != '0'){                        
                    result = str.substring(i);  
                    break;  
                }  
            }  
        }catch(Exception e){  
            result = "";  
        }     
    }else{  
        result = "";  
    }  
    return result;  
          
}  




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值