📄 formatter.java
字号:
/*
* Created on Nov 26, 2003
*
*/
package com.leeman.common.util;
import java.math.*;
import java.text.*;
import java.util.*;
import com.leeman.common.util.DateUtils;
/**
* @author
*
*/
public class Formatter {
public static final String NUM_INT_FORMAT = "###########0";
public static final String INT_FORMAT = "###,###,###,##0";
public static final String DEC_FORMAT1 = "###,###,###,###,##0.0";
public static final String DEC_FORMAT2 = "###,###,###,###,##0.00";
public static final String DEC_FORMAT3 = "###,###,###,###,##0.000";
public static final String DEC_FORMAT4 = "###,###,###,###,##0.0000";
public static final String DEC_FORMAT5 = "###,###,###,###,##0.00000";
public static final String DEC_FORMAT6 = "###,###,###,###,##0.000000";
public static final String DEC_FORMAT7 = "###,###,###,###,##0.0000000";
public static final String SQL_INT_FORMAT = "###########0";
public static final String SQL_DEC_FORMAT1 = "##############0.0";
public static final String SQL_DEC_FORMAT2 = "##############0.00";
public static final String SQL_DEC_FORMAT3 = "##############0.000";
public static final String SQL_DEC_FORMAT4 = "##############0.0000";
public static final String SQL_DEC_FORMAT5 = "##############0.00000";
public static final String SQL_DEC_FORMAT6 = "##############0.000000";
public static final String DISP_DATE = "dd/MM/yyyy";
public static final String DISP_MONTH_DATE = "MM/yyyy";
public static final String DISP_DAY_MONTH_DATE = "dd-MM";
public static final String DISP_DATE_TIME = "dd/MM/yyyy HH:mm";
public static final String DISP_TIME = "HH:mm";
public static final String DISP_DATE_TIME_SEC = "dd/MM/yyyy HH:mm:ss";
public static final String SQL_DATE = "dd/MM/yyyy";
public static final String DB_SQL_DATE = "dd/MM/yyyy";
public static final String SQL_DATE_TIME = "dd/MM/yyyy HH:mm";
public static final String DB_SQL_DATE_TIME = "dd/MM/yyyy HH24:mi";
//public static final String IFLOW_DATE_TIME = "yyyy-MM-dd HH:mm:ss";
/* Function Name : ChkString
* Input Para : String sql - String to be checked and replaced
* Out Para : String - String has been checked and replaced
*/
public static String chkString(String sql)
{
String targetStr1 = new String("'");
String replaceStr1 = new String("''");
return Formatter.replaceAll(sql, targetStr1, replaceStr1 );
}
/* Function Name : ToSqlString
* Input Para : String sql - String to be checked and replaced
* Out Para : String - String has been checked and replaced
*/
public static String toSqlString(String data)
{
return (data == null || data == "") ? "''" : "'" + chkString(data.trim()) + "'";
}
public static String toValueString(String data)
{
return (data == null)? "":Formatter.replaceAll(data, "\"", """);
}
public static String toSqlString(Integer data)
{
return (data == null) ? "null" : chkString(data.toString());
}
public static String toSqlString(Long data)
{
return (data == null) ? "null" : chkString(data.toString());
}
public static String toSqlString(Double data)
{
return (data == null) ? "null" : chkString(data.toString());
}
public static String toSqlString(int data)
{
return String.valueOf(data);
}
public static String toSqlString(long data)
{
return String.valueOf(data);
}
public static String toSqlString(double data)
{
return String.valueOf(data);
}
public static int parseInt(String data)
{
String datatemp = (data != null?Formatter.replaceAll(data, ",",""):null);
return Integer.parseInt(Formatter.replaceAll(datatemp, ",","")) ;
}
public static long parseLong(String data)
{
String datatemp = (data != null?Formatter.replaceAll(data, ",",""):null);
return Long.parseLong(Formatter.replaceAll(datatemp, ",","")) ;
}
public static Long parseLongObj(String data){
if (data == null || data.equals("")){
return null;
}
else{
return new Long(parseLong(data));
}
}
public static Integer parseIntObj(String data){
if (data == null || data.equals("")){
return null;
}
else{
return new Integer(parseInt(data));
}
}
public static double parseDouble(String data){
String datatemp = (data != null?Formatter.replaceAll(data, ",",""):null);
return Double.parseDouble(datatemp);
}
public static Double parseDoubleObj(String data){
if (data == null || data.equals("")){
return null;
}
else{
return new Double(parseDouble(data));
}
}
/**
* Format the double to specified format
* @param data - Number
* @param dformat - Static Variable of Formatter (e.g. DEC_FORMAT2)
* @return formatted number
*/
public static String toFormatNumeric(double data, String dformat)
{
try
{
java.text.DecimalFormat df = new java.text.DecimalFormat(dformat);
return df.format(data);
}
catch (Exception ex)
{
return Double.toString(data);
}
}
/**
* Format the Double Object to specified format
* @param data - Number
* @param dformat - Static Variable of Formatter (e.g. DEC_FORMAT2)
* @return formatted number
*/
public static String toFormatNumeric(Double data, String dformat)
{
if (data == null){
return "";
}
else{
return toFormatNumeric(data.doubleValue(), dformat);
}
}
/**
* Format the double to specified format
* @param data - Number
* @param dformat - Static Variable of Formatter (e.g. DEC_FORMAT2)
* @return formatted number
*/
public static String toFormatNumeric(long data, String dformat)
{
try
{
java.text.DecimalFormat df = new java.text.DecimalFormat(dformat);
return df.format(data);
}
catch (Exception ex)
{
return Long.toString(data);
}
}
/**
* Format the Long Object to specified format
* @param data - Long Object
* @param dformat - Static Variable of Formatter (e.g. DEC_FORMAT2)
* @return formatted number
*/
public static String toFormatNumeric(Long data, String dformat)
{
if (data == null){
return "";
}
else{
return toFormatNumeric(data.longValue(), dformat);
}
}
/**
* Format the Integer Object to specified format
* @param data - Integer Object
* @param dformat - Static Variable of Formatter (e.g. DEC_FORMAT2)
* @return formatted number
*/
public static String toFormatNumeric(Integer data, String dformat)
{
if (data == null){
return "";
}
else{
return toFormatNumeric(data.intValue(), dformat);
}
}
/**
* Format the integer to specified format
* @param data - Number
* @param dformat - Static Variable of Formatter (e.g. DEC_FORMAT2)
* @return formatted number
*/
public static String toFormatNumeric(int data, String dformat)
{
try
{
java.text.DecimalFormat df = new java.text.DecimalFormat(dformat);
return df.format(data);
}
catch (Exception ex)
{
return Integer.toString(data);
}
}
/* Function Name : ToFormatNumeric
* Input Para : String data - String to be manipulated
* String dformat - Format to be used to manipulate
* Out Para : String - String has been manipulated
*/
public static String toFormatNumeric(String data, String dformat)
{
try
{
DecimalFormat df = new DecimalFormat(dformat);
return df.format(new Double(Formatter.replaceAll(data,",", "")));
}
catch (Exception ex)
{
System.out.println("Error in FormatNumeric of String: " + data);
return data;
}
}
/* Function Name : ToSqlBoolean
* Input Para : Boolean flag - Flag to trigger 'Y' or 'N'
* Out Para : String - 'Y' or 'N'
*/
public static String toSqlBoolean(boolean flag)
{
return (flag == true) ? "'Y'" : "'N'";
}
/**
* Return a String for sql statement without time preision
* @param data - Date
* @return sql statemnet phase
*/
public static String toSqlDate(Date data)
{
if (data != null)
{
return "TO_DATE('" + toFormatDate(data, SQL_DATE) + "','" + DB_SQL_DATE + "')";
}
else
{
return null;
}
}
/**
* Return a String for Sql statement with time preision up to minute
* @param data
* @return
*/
public static String toSqlDateTime(Date data)
{
if (data != null)
{
return "TO_DATE('" + toFormatDate(data, SQL_DATE_TIME) + "','" + DB_SQL_DATE_TIME + "')";
}
else
{
return null;
}
}
/* Function Name : ToSqlDate
* Input Para : String sql - String to be checked and replaced
* Out Para : String - String has been checked and replaced
*/
public static String toSqlDate(String data)
{
if (data != null && !data.equals(""))
return "TO_DATE('" + toFormatDateTime(data, SQL_DATE) + "','" + DB_SQL_DATE + "')";
else
return "null";
}
public static String toSqlDateTime(String data)
{
if (data != null && !data.equals(""))
return "TO_DATE('" + toFormatDateTime(data, SQL_DATE_TIME) + "','" + DB_SQL_DATE_TIME + "')";
else
return "null";
}
public static String toDispDate(String data)
{
if (data != null && !data.equals("")){
return toFormatDate(data, DISP_DATE);
}
else
{
return "";
}
}
public static String toTimeStampDatetime(java.util.Date date)
{
if (date == null){
return "";
}
else
{
Calendar gc = new GregorianCalendar();
gc.setTime(date);
String yyyy = Formatter.lPad(String.valueOf(gc.get(GregorianCalendar.YEAR)), 4, '0');
String mm = Formatter.lPad(String.valueOf(gc.get(GregorianCalendar.MONTH)+1), 2, '0');
String dd = Formatter.lPad(String.valueOf(gc.get(GregorianCalendar.DAY_OF_MONTH)), 2, '0');
String hh = Formatter.lPad(String.valueOf(gc.get(GregorianCalendar.HOUR_OF_DAY)), 2, '0');
String mi = Formatter.lPad(String.valueOf(gc.get(GregorianCalendar.MINUTE)), 2, '0');
String ss = Formatter.lPad(String.valueOf(gc.get(GregorianCalendar.SECOND)), 2, '0');
return yyyy + mm + dd + hh + mi + ss;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -