各种类型转化为String

package com.cardvalue.sys.newnetwork;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/**
 * 转换map list中的数字格式 
 * @author 
 *
 */

public class Convert {
	//将Map<String,Object> 中的数值转成字符串并去掉多余小数点
	 public static Map<String, Object> convertMap(Map<String,Object> param){
		 Map<String,Object> pm = new HashMap<String,Object>();
		 if (param==null)
			 return pm;
		 for (String key:param.keySet()){
			 if (param.get(key)==null)
				 pm.put(key, "");
			 else if (param.get(key).getClass().getName().equals("java.lang.Integer")){
				 pm.put(key, subZeroAndDot(String.valueOf(param.get(key))));
			 }
			 else if (param.get(key).getClass().getName().equals("java.lang.Double")){
				 Double tmp = (Double) param.get(key);
				 pm.put(key, subZeroAndDot(String.valueOf(tmp)));
			 }else{
				 if (isNumber(param.get(key).toString()))
					 pm.put(key,subZeroAndDot(param.get(key).toString()));
				 else
					 pm.put(key,param.get(key)); 
			 }
		 }
		 return pm;
	 }
	 
	 public static<T> void convertMap(T cls){
//		 Map<String,Object> pm = new HashMap<String,Object>();
//		 if (param==null)
//			 return pm;
//		 for (String key:param.keySet()){
//			 if (param.get(key)==null)
//				 pm.put(key, "");
//			 else if (param.get(key).getClass().getName().equals("java.lang.Integer")){
//				 pm.put(key, subZeroAndDot(String.valueOf(param.get(key))));
//			 }
//			 else if (param.get(key).getClass().getName().equals("java.lang.Double")){
//				 Double tmp = (Double) param.get(key);
//				 pm.put(key, subZeroAndDot(String.valueOf(tmp)));
//			 }else{
//				 if (isNumber(param.get(key).toString()))
//					 pm.put(key,subZeroAndDot(param.get(key).toString()));
//				 else
//					 pm.put(key,param.get(key)); 
//			 }
//		 }
//		 return pm;
		 Field [] fields = cls.getClass().getDeclaredFields();
		 for (Field field:fields){
			 field.setAccessible(true);
			 try {
				Object value = field.get(cls);
				String temp = convertToString(value);
				field.set(cls, temp);
				
			} catch (IllegalAccessException | IllegalArgumentException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		 }
	 }
	 
	 //同上 ,作用于list
	 public static List<Map<String,Object>> convertListObject(List<Map<String,Object>> param){
		 List<Map<String,Object>> ret = new ArrayList<Map<String,Object>>();
		 for (Map<String,Object> tp :param){
			 ret.add(convertMap(tp));
		 }
		 return ret;
	 }
	 
 
	 
	 
	 public static List<Object> convertListString(List<Object> param){
		 List<Object> ret = new ArrayList<Object>();
		 if (ret==null && ret.size()==0)
			 return new ArrayList<Object>();
		 for (Object  tp :param){
			 ret.add(convertToString(tp));
		 }
		 return ret;
	 }
	 
	 public static List<String> convertStringToListString(List<Object> param){
		 List<String> ret = new ArrayList<String>();
		 if (ret==null && ret.size()==0)
			 return new ArrayList<String>();
		 for (Object  tp :param){
			 ret.add(convertToString(tp).toString());
		 }
		 return ret;
	 }
	 
	 
	 public static String convertToString(Object str){
		 if (str.getClass().getName().equals("java.lang.Integer")){
			return subZeroAndDot(String.valueOf(str));
		 } else if (str.getClass().getName().equals("java.lang.Double")){
			 Double tmp = (Double)str;
			 return subZeroAndDot(String.valueOf(tmp));
		 }else
			 return subZeroAndDot(str.toString());
	 }
	 
	 public static void print(String msg){
		 System.out.println(msg);
	 }
	 
	 //去掉多余的0
	 private static String subZeroAndDot(String s){  
	        if(s.indexOf(".") > 0){  
	            s = s.replaceAll("0+?$", "");//去掉多余的0  
	            s = s.replaceAll("[.]$", "");//如最后一位是.则去掉  
	        }  
	        return s;  
	 }
	 
	/**
	 * 判断字符串是否是整数
	 */
	public static boolean isInteger(String value) {
		try {
			Integer.parseInt(value);
			return true;
		} catch (NumberFormatException e) {
			return false;
		}
	}

	/**
	 * 判断字符串是否是浮点数
	 */
	public static boolean isDouble(String value) {
		try {
			Double.parseDouble(value);
			if (value.contains("."))
				return true;
			return false;
		} catch (NumberFormatException e) {
			return false;
		}
	}

	/**
	 * 判断字符串是否是数字
	 */
	public static boolean isNumber(String value) {
		return isInteger(value) || isDouble(value);
	}

  
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值