写一个转换的类,我把我写的给你参考一下!
StringUtil:
package com.investoday.util;import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Date;public class StringUtil
{
public static String getGbcode(String str)
{
if(str == null)
return ""; try
{
byte[]bytesStr = str.getBytes("ISO-8859-1");
return new String(bytesStr,"GBK");
}
catch(Exception ex)
{
return str;
}
} public static String getUnicode(String str)
{
if(str == null)
return ""; try
{
byte[]bytesStr = str.getBytes();
return new String(bytesStr,"ISO-8859-1");
}
catch(Exception ex)
{
return str;
}
} public static String getDate(java.sql.Date d)
{
if(d == null)
return "";
else
return d.toString();
} public static String getDouble(String str, int i)
{
if(str == null)
return "N/A";
else
{
try
{
double d = Double.parseDouble(str);
boolean m = false;
if(d >= 1000000 || d <= -1000000)
{
d = d / 1000000.00;
m = true;
}
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(i);
nf.setMinimumFractionDigits(i);
if(m)
return nf.format(d) + "M";
else
return nf.format(d);
}
catch(Exception e)
{
return "N/A";
}
}
} public static String zeroToNull(String str, int i)
{
if(str == null)
return "N/A";
else
{
try
{
double d = Double.parseDouble(str); d = d / 1000000.00; if(d == 0)
return "--"; NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(i);
nf.setMinimumFractionDigits(i); return nf.format(d);
}
catch(Exception e)
{
return "N/A";
}
}
} public static String getMillion(String str, int i)
{
if(str == null)
return "N/A";
else
{
try
{
if(str.indexOf("M")>-1){
return str.substring(0,str.indexOf("M")) ;
}
str = replace(str,",","") ; double d = Double.parseDouble(str);
d = d / 1000000.00;
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(i);
nf.setMinimumFractionDigits(i);
return nf.format(d);
}
catch(Exception e)
{
return "N/A";
}
}
}
public static String getWan(String str, int i)
{
if(str == null)
return "N/A";
else
{
try
{
double d = Double.parseDouble(str); d = d / 10000.00; NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(i);
nf.setMinimumFractionDigits(i); return nf.format(d);
}
catch(Exception e)
{
return "N/A";
}
}
} public static String getString(String str)
{
if(str == null)
return "N/A"; return str;
} public static String nullToEmpty(String str)
{
if(str == null)
return ""; return str;
} public static final String replace(String line, String oldString, String newString)
{
if (line == null)
{
return null;
}
int i=0;
if ((i=line.indexOf( oldString, i )) >= 0)
{
char [] line2 = line.toCharArray();
char [] newString2 = newString.toCharArray();
int oLength = oldString.length();
StringBuffer buf = new StringBuffer(line2.length);
buf.append(line2, 0, i).append(newString2);
i += oLength;
int j = i;
while((i=line.indexOf( oldString, i )) > 0)
{
buf.append(line2, j, i-j).append(newString2);
i += oLength;
j = i;
}
buf.append(line2, j, line2.length - j);
return buf.toString();
}
return line;
} public static String escapeToHtml(String str)
{
String newStr;
newStr = replace(str, "\n", "<br>");
newStr = replace(newStr, " ", " ");
return newStr;
} public static String getSub(String str, int len)
{ char[] ch = getGbcode(str).toCharArray();
String rtnStr = "";
int j = 0;
for(int i=0; i<ch.length && j<len; i++)
{
if((new Character(ch[i])).hashCode() > 255)
{
j = j+2;
rtnStr = rtnStr + (new Character(ch[i])).toString();
}
else
{
j = j+1;
rtnStr = rtnStr + (new Character(ch[i])).toString();
}
} if(j > len)
rtnStr = rtnStr.substring(0,rtnStr.length()-1) + "."; if(j >= len)
rtnStr = rtnStr + ".."; return getUnicode(rtnStr);
} public static String getReportSub(String str, int len)
{
char[] ch = getGbcode(str).toCharArray();
String rtnStr = "";
int j = 0; for(int i=0; i<ch.length; i++)
{
if((new Character(ch[i])).hashCode() > 255)
{
j = j+2;
}
else
{
j = j+1;
}
}
StringUtil:
package com.investoday.util;import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Date;public class StringUtil
{
public static String getGbcode(String str)
{
if(str == null)
return ""; try
{
byte[]bytesStr = str.getBytes("ISO-8859-1");
return new String(bytesStr,"GBK");
}
catch(Exception ex)
{
return str;
}
} public static String getUnicode(String str)
{
if(str == null)
return ""; try
{
byte[]bytesStr = str.getBytes();
return new String(bytesStr,"ISO-8859-1");
}
catch(Exception ex)
{
return str;
}
} public static String getDate(java.sql.Date d)
{
if(d == null)
return "";
else
return d.toString();
} public static String getDouble(String str, int i)
{
if(str == null)
return "N/A";
else
{
try
{
double d = Double.parseDouble(str);
boolean m = false;
if(d >= 1000000 || d <= -1000000)
{
d = d / 1000000.00;
m = true;
}
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(i);
nf.setMinimumFractionDigits(i);
if(m)
return nf.format(d) + "M";
else
return nf.format(d);
}
catch(Exception e)
{
return "N/A";
}
}
} public static String zeroToNull(String str, int i)
{
if(str == null)
return "N/A";
else
{
try
{
double d = Double.parseDouble(str); d = d / 1000000.00; if(d == 0)
return "--"; NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(i);
nf.setMinimumFractionDigits(i); return nf.format(d);
}
catch(Exception e)
{
return "N/A";
}
}
} public static String getMillion(String str, int i)
{
if(str == null)
return "N/A";
else
{
try
{
if(str.indexOf("M")>-1){
return str.substring(0,str.indexOf("M")) ;
}
str = replace(str,",","") ; double d = Double.parseDouble(str);
d = d / 1000000.00;
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(i);
nf.setMinimumFractionDigits(i);
return nf.format(d);
}
catch(Exception e)
{
return "N/A";
}
}
}
public static String getWan(String str, int i)
{
if(str == null)
return "N/A";
else
{
try
{
double d = Double.parseDouble(str); d = d / 10000.00; NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(i);
nf.setMinimumFractionDigits(i); return nf.format(d);
}
catch(Exception e)
{
return "N/A";
}
}
} public static String getString(String str)
{
if(str == null)
return "N/A"; return str;
} public static String nullToEmpty(String str)
{
if(str == null)
return ""; return str;
} public static final String replace(String line, String oldString, String newString)
{
if (line == null)
{
return null;
}
int i=0;
if ((i=line.indexOf( oldString, i )) >= 0)
{
char [] line2 = line.toCharArray();
char [] newString2 = newString.toCharArray();
int oLength = oldString.length();
StringBuffer buf = new StringBuffer(line2.length);
buf.append(line2, 0, i).append(newString2);
i += oLength;
int j = i;
while((i=line.indexOf( oldString, i )) > 0)
{
buf.append(line2, j, i-j).append(newString2);
i += oLength;
j = i;
}
buf.append(line2, j, line2.length - j);
return buf.toString();
}
return line;
} public static String escapeToHtml(String str)
{
String newStr;
newStr = replace(str, "\n", "<br>");
newStr = replace(newStr, " ", " ");
return newStr;
} public static String getSub(String str, int len)
{ char[] ch = getGbcode(str).toCharArray();
String rtnStr = "";
int j = 0;
for(int i=0; i<ch.length && j<len; i++)
{
if((new Character(ch[i])).hashCode() > 255)
{
j = j+2;
rtnStr = rtnStr + (new Character(ch[i])).toString();
}
else
{
j = j+1;
rtnStr = rtnStr + (new Character(ch[i])).toString();
}
} if(j > len)
rtnStr = rtnStr.substring(0,rtnStr.length()-1) + "."; if(j >= len)
rtnStr = rtnStr + ".."; return getUnicode(rtnStr);
} public static String getReportSub(String str, int len)
{
char[] ch = getGbcode(str).toCharArray();
String rtnStr = "";
int j = 0; for(int i=0; i<ch.length; i++)
{
if((new Character(ch[i])).hashCode() > 255)
{
j = j+2;
}
else
{
j = j+1;
}
}
if(j <= len)
return str; j = 0; for(int i=0; i<ch.length && j<len; i++)
{
if((new Character(ch[i])).hashCode() > 255)
{
j = j+2;
rtnStr = rtnStr + (new Character(ch[i])).toString();
}
else
{
j = j+1;
rtnStr = rtnStr + (new Character(ch[i])).toString();
}
} if(j > len)
rtnStr = rtnStr.substring(0,rtnStr.length()-1) + "."; if(j >= len)
rtnStr = rtnStr + "."; return getUnicode(rtnStr);
} public static String getFixedString(String str, int l)
{
int len = l - 2;
char[] ch = str.toCharArray();
String rtnStr = "";
int j = 0;
for(int i=0; i<ch.length && j<len; i++)
{
if((new Character(ch[i])).hashCode() > 255)
{
j = j+2;
rtnStr = rtnStr + (new Character(ch[i])).toString();
}
else
{
j = j+1;
rtnStr = rtnStr + (new Character(ch[i])).toString();
}
} if(j > len)
{
rtnStr = rtnStr.substring(0,rtnStr.length()-1) + ".";
j = len;
} for(int i=0; i<l-j; i++)
rtnStr = rtnStr + "."; return rtnStr;
} public static String getToday()
{
return (new java.sql.Date(System.currentTimeMillis())).toString();
} public static String getLastYear()
{
String today = getToday();
String year = today.substring(0, 4); try
{
int i = Integer.parseInt(year) - 1;
year = (new Integer(i)).toString();
}
catch(Exception e)
{
} return year;
} public static String getSubstring(String str, int i)
{
try
{
return str.substring(i);
}
catch(Exception e)
{
return str;
}
} public static String getNull(String str){
String temp = "";
if(str == null || str.equals("") || str.equals("null")){
str = temp;
}
return str;
} public static String getDateFormat(String format){
SimpleDateFormat bartDateFormat = new SimpleDateFormat(format);
Date d = new Date();
return bartDateFormat.format(d);
} public static String setAuthor(String author){
String[] index_p = {","," ","、",","};
for(int i = 0;i < 4;i++){
int temp = author.indexOf(index_p[i]);
if(temp != -1){
author = author.substring(0,temp)+"...";
break;
}
else{
int len = author.length();
if(len >=4){
author = author.substring(0,4);
}
}
}
return author;
} public static String getMonthDay(String str)
{
if(str == null)
return ""; return str.substring(str.indexOf("-")+1, str.length());
} public static String getLine(String old_s){
String new_s = "";
if(old_s!=null){
int i = 0 ;
for(int kk = 0 ;kk<old_s.length() ;kk++){
char cr = old_s.charAt(kk) ;
if((new Character(cr)).hashCode()==13||(new Character(cr)).hashCode()==10){
if(i==0){
//new_s +="\\n\"\n+\"";
new_s +="\\n";
}
i++;
}else {
i=0 ; //双引号处理
if((new Character(cr)).hashCode()==34)
new_s += "\\"+(new Character(cr)).toString() ;
else
new_s += (new Character(cr)).toString() ;
} }
}
return new_s;
}}这里面基本上功能都实现啦!