王凯文 2012-09-26 10:30 采纳率: 100%
浏览 261
已采纳

对象格式化

例1: str(arg1,"yyyy年 MM 月dd 日"), 其中 arg1 为日期型参数,值为 1972-09-09,返回值:"1972年 09 月 09日"
例2:str(3456.9876,"¥#,##0.00") 返回值:"¥3,456.99"

  • 写回答

1条回答 默认 最新

  • fang_fumin 2012-09-26 12:42
    关注

    /**
    * 格式化输出数据,目前只支持字符和数字
    * @param obj
    * @param format
    * @return
    * @throws ParseException
    */
    public static String format(Object obj,String format) throws ParseException
    {
    String formatResult = "";
    if(null != obj && null != format)
    {
    if(obj.getClass().getName().equals(int.class.getName())
    ||obj.getClass().getName().equals(Integer.class.getName())
    || obj.getClass().getName().equals(long.class.getName())
    || obj.getClass().getName().equals(Long.class.getName())
    || obj.getClass().getName().equals(byte.class.getName())
    || obj.getClass().getName().equals(Byte.class.getName())
    || obj.getClass().getName().equals(float.class.getName())
    || obj.getClass().getName().equals(Float.class.getName())
    || obj.getClass().getName().equals(double.class.getName())
    || obj.getClass().getName().equals(Double.class.getName())
    || obj.getClass().getName().equals(short.class.getName())
    || obj.getClass().getName().equals(Short.class.getName()))
    {
    // 格式化数据
    DecimalFormat nf = new DecimalFormat(format);
    formatResult = nf.format(obj);
    }
    else if(obj.getClass().getName().equals(Date.class.getName()))
    {
    // 格式化日期
    SimpleDateFormat df = new SimpleDateFormat(format);
    return df.format(obj);
    }
    else
    {
    DateFormat dft = DateFormat.getDateInstance();
    Date date = dft.parse(String.valueOf(obj).toString());
    // 格式化日期
    SimpleDateFormat df = new SimpleDateFormat(format);
    return df.format(date);
    }
    }
    return formatResult;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大