数据格式化帮助类

package hk.buttonwood.ops.common;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.lang.StringUtils;

public class FmtUtils {
private static final String pattern = "yyyy-MM-dd HH:mm:ss";

private static final String pattern1 = "yyyyww";

private static final String pattern2 = "yyyy-MM-dd";

private static final String pattern3 = "MM/dd";

private static final String pattern4 = "MM/dd HH:mm";

private static final String pattern5 = "yyyyMMdd";

private static final String pattern6 = "HHmmssSS";

private static final String pattern7 = "HHmm";

private static final String pattern8 = "yyMMdd";

static final String M = "M";

static final String K = "K";

public static String formatDate(Date d) {
if (d == null) {
return "";
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(d);
}

public static String formatDateWeekInYear(Date d) {
if (d == null) {
return "";
}
SimpleDateFormat sdf1 = new SimpleDateFormat(pattern1);
return sdf1.format(d);
}

public static String formatPercent(BigDecimal b) {
if (b == null) {
return "";
} else {
String pattern = "0.00";
DecimalFormat df = new DecimalFormat(pattern);
return df.format(b.doubleValue() * 100) + "%";
}
}

public static String formatDateWithoutTime(Date d) {
if (d == null) {
return "";
}
SimpleDateFormat sdf2 = new SimpleDateFormat(pattern2);
return sdf2.format(d);
}

public static String formatDateShort(Date d) {
if (d == null) {
return "";
}
SimpleDateFormat sdf3 = new SimpleDateFormat(pattern3);
return sdf3.format(d);
}

public static String formatDateMiddle(Date d) {
if (d == null) {
return "";
}
SimpleDateFormat sdf4 = new SimpleDateFormat(pattern4);
return sdf4.format(d);
}

public static String formatDateyyyyMMdd(Date d) {
if (d == null) {
return "";
}
SimpleDateFormat sdf5 = new SimpleDateFormat(pattern5);
return sdf5.format(d);
}

public static String formatDateyyMMdd(Date d) {
if (d == null) {
return "";
}
SimpleDateFormat sdf8 = new SimpleDateFormat(pattern8);
return sdf8.format(d);
}

public static Date int2Date(Integer i) {
SimpleDateFormat sdf5 = new SimpleDateFormat(pattern5);
try {
return sdf5.parse(String.valueOf(i));
} catch (ParseException e) {
return null;
}
}

public static Integer date2int(Date d) {
if (d == null) {
return null;
}
SimpleDateFormat sdf5 = new SimpleDateFormat(pattern5);
String s = sdf5.format(d);
return Integer.valueOf(s);
}

public static String formatDateHHmmssSS(Date d) {
if (d == null) {
return "";
}
SimpleDateFormat sdf6 = new SimpleDateFormat(pattern6);
String s = sdf6.format(d);
return StringUtils.left(s, 8);
}

public static String formatDateHHmm(Date d) {
if (d == null) {
return "";
}
SimpleDateFormat sdf7 = new SimpleDateFormat(pattern7);
return sdf7.format(d);
}

public static String blank(Object o) {
if (o == null) {
return "*空白*";
}
if (StringUtils.isEmpty(String.valueOf(o))) {
return "*空白*";
}
return StringUtils.isEmpty(o.toString()) ? "*空白*" : o.toString();
}
/*
* 指定精度格式化BigDemcial
* @param:对应值
* @param:精度,#.00小数点后两位
* @return:返回格式化后的数据
*/
public static String formatDecimalWithScale(String value,String scale){
String v=null;
try{
BigDecimal bigDecimal=new BigDecimal(value);
v=new java.text.DecimalFormat(scale).format(bigDecimal);
}catch(Exception e){
v="0.0000000000";
e.printStackTrace();
}
return v;
}
public static String empty(Object o) {
if (o == null) {
return "";
}
if (StringUtils.isEmpty(String.valueOf(o))) {
return "";
}
return StringUtils.isEmpty(o.toString()) ? "" : o.toString();
}

public static String hold3Decimal(BigDecimal d) { // 保留3位小数位,按四舍五入
try {
String pattern = "0.000";
DecimalFormat df = new DecimalFormat(pattern);
String s = df.format(d);
if (s.equals("-0.000")) {
s = "0.000";
}
return s;
} catch (Exception ex) {
return "";
}

}

public static String hold2Decimal(BigDecimal d) { // 保留2位小数位,按四舍五入
try {
String pattern = "0.00";
DecimalFormat df = new DecimalFormat(pattern);
String s = df.format(d);
if (s.equals("-0.00")) {
s = "0.00";
}
return s;
} catch (Exception ex) {
return "";
}
}

public static String hold1Decimal(BigDecimal d) { // 保留1位小数位,按四舍五入
try {
String pattern = "0.0";
DecimalFormat df = new DecimalFormat(pattern);
String s = df.format(d);
if (s.equals("-0.00")) {
s = "0.00";
}
return s;
} catch (Exception ex) {
return "";
}
}

public static String formatDecimal(BigDecimal d) { // 格式化数字显示
// 2342565.555->2,342,565.56
try {
String pattern = "##,##0.00";
DecimalFormat declimalFormat = new DecimalFormat(pattern);
String s = declimalFormat.format(d.doubleValue());
if (s.equals("-0.00")) {
s = "0.00";
}
return s;
} catch (Exception ex) {
return "";
}

}

public static String hold0Decimal(BigDecimal d) { // 格式化数字显示
try {
String pattern = "####0.##";
DecimalFormat declimalFormat = new DecimalFormat(pattern);
String s = declimalFormat.format(d.doubleValue());
if (s.equals("-0.00")) {
s = "0.00";
}
return s;
} catch (Exception ex) {
return "";
}
}

public static String noDecimal(BigDecimal d) { // 只保留整数
try {
String pattern = "####0";
DecimalFormat declimalFormat = new DecimalFormat(pattern);
String s = declimalFormat.format(d.doubleValue());
if (s.equals("-0")) {
s = "0";
}
return s;
} catch (Exception ex) {
return "";
}
}

public static String formatInt(BigDecimal d) { // 格式化数字显示
// 2342565.555->2,342,565.56
try {
String pattern = "##,##0";
DecimalFormat declimalFormat = new DecimalFormat(pattern);
String s = declimalFormat.format(d.doubleValue());
if (s.equals("-0")) {
s = "0";
}
return s;
} catch (Exception ex) {
return "";
}
}

public static String formatInt(Integer d) { // 格式化数字显示
// 2342565.555->2,342,565.56
try {
String pattern = "##,##0";
DecimalFormat declimalFormat = new DecimalFormat(pattern);
String s = declimalFormat.format(d);
if (s.equals("-0")) {
s = "0";
}
return s;
} catch (Exception ex) {
return "";
}
}

public static String formatLong(Long d) { // 格式化数字显示
// 2342565.555->2,342,565.56
try {
String pattern = "##,##0";
DecimalFormat declimalFormat = new DecimalFormat(pattern);
String s = declimalFormat.format(d);
if (s.equals("-0")) {
s = "0";
}
return s;
} catch (Exception ex) {
return "";
}
}

public static String shortQty(Integer qty) { // 将数量转换格式,1000->1K,1000000->1M
try {
String retVal = "";
double d = 0.0;
if (qty.doubleValue() >= 1000000) { // 大于1000000
d = qty.doubleValue() / 1000000;
if ((d * 10) / ((int) d * 10) != 1)
retVal = (new Double(d).toString() + M);
// retVal=formatDecimal(new BigDecimal(d))+M;
else
retVal = new Integer((int) d).toString() + M;
return retVal;
}
if (qty.doubleValue() >= 1000) { // 大于1000
d = qty.doubleValue() / 1000;
if ((d * 10) / ((int) d * 10) != 1)
retVal = (new Double(d).toString() + K);
else
retVal = new Integer((int) d).toString() + K;
return retVal;
}
if (qty.doubleValue() <= -1000000) { // 小于-1000000
d = qty.doubleValue() / 1000000;
if ((d * 10) / ((int) d * 10) != 1)
retVal = (new Double(d).toString() + M);
else
retVal = new Integer((int) d).toString() + M;
return retVal;
}
if (qty.doubleValue() <= -1000) { // 小于1000
d = qty.doubleValue() / 1000;
if ((d * 10) / ((int) d * 10) != 1)
retVal = (new Double(d).toString() + K);
else
retVal = new Integer((int) d).toString() + K;
return retVal;
}
if (qty.doubleValue() - Math.floor(qty.doubleValue()) == 0) // 整数返回整数,有小数返回小数
retVal = (new Long(qty.longValue()).toString());
else
retVal = (new Double(qty.doubleValue()).toString());
return retVal;
} catch (Exception ex) {
return "";
}
}

public static void main(String[] args) {
Date d = new Date();
System.out.println(d);
System.out.println(formatDateHHmmssSS(d));
}
}

时间: 2024-10-10 07:15:42

数据格式化帮助类的相关文章

SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/

SpringMVC 数据转换 &amp; 数据格式化 &amp; 数据校验

数据绑定流程 1. Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象2. DataBinder 调用装配在 Spring MVC 上下文中的 ConversionService 组件进行数据类型转换.数据格式化工作.将 Servlet 中的请求信息填充到入参对象中3. 调用 Validator 组件对已经绑定了请求消息的入参对象进行数据合法性校验,并最终生成数据绑定

SpringMVC——数据转换 &amp; 数据格式化 &amp; 数据校验

一.数据绑定流程 1. Spring MVC 主框架将 ServletRequest 对象及目标方 法的入参实例传递给 WebDataBinderFactory 实例,以创 建 DataBinder 实例对象 2. DataBinder 调用装配在 Spring MVC 上下文中的 ConversionService 组件进行数据类型转换.数据格式 化工作.将 Servlet 中的请求信息填充到入参对象中 3. 调用 Validator 组件对已经绑定了请求消息的入参对象 进行数据合法性校验,并

SpringMVC数据格式化,介绍了解一下

7.3.数据格式化在如Web /客户端项目中,通常需要将数据转换为具有某种格式的字符串进行展示,因此上节我们学习的数据类型转换系统核心作用不是完成这个需求,因此Spring3引入了格式化转换器(Formatter SPI) 和格式化服务API(FormattingConversionService)从而支持这种需求.在Spring中它和PropertyEditor功能类似,可以替代PropertyEditor来进行对象的解析和格式化,而且支持细粒度的字段级别的格式化/解析. Formatter

在JS中,将text框中数据格式化,根据不同的小数位数,格式化成对应的XXX,XXX,XXX.XX(2位小数) 或者XXX,XXX,XXX(0位小数)

//在JS中,将text框中数据格式化,根据不同的小数位数,格式化成对应的XXX,XXX,XXX.XX(2位小数) 或者XXX,XXX,XXX(0位小数) function formatNum(num, n) {//参数说明:num 要格式化的数字 n 保留小数位 num = String(num.toFixed(n)); var re = /(-?\d+)(\d{3})/; while (re.test(num)) num = num.replace(re, "$1,$2") ret

Hadoop HDFS源码分析 关于数据块的类

Hadoop HDFS源码分析 关于数据块的类 1.BlocksMap 官方代码中的注释为: /** * This class maintains the map from a block to its metadata. * block's metadata currently includes blockCollection it belongs to and * the datanodes that store the block. */ BlocksMap数据块映射,管理名字节点上的数据

IO-04. 混合类型数据格式化输入(5)

IO-04. 混合类型数据格式化输入(5) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 乔林(清华大学) 本题要求编写程序,顺序读入浮点数1.整数.字符.浮点数2,再按照字符.整数.浮点数1.浮点数2的顺序输出. 输入格式: 输入在一行中顺序给出浮点数1.整数.字符.浮点数2,其间以1个空格分隔. 输出格式: 在一行中按照字符.整数.浮点数1.浮点数2的顺序输出,其中浮点数保留小数点后2位. 输入样例: 2.12 88 c 4

06-0. 混合类型数据格式化输入(5)

本题要求编写程序,顺序读入浮点数1.整数.字符.浮点数2,再按照字符.整数.浮点数1.浮点数2的顺序输出. 输入格式: 输入在一行中顺序给出浮点数1.整数.字符.浮点数2,其间以1个空格分隔. 输出格式: 在一行中按照字符.整数.浮点数1.浮点数2的顺序输出,其中浮点数保留小数点后2位. 输入样例: 2.12 88 c 4.7 输出样例: c 88 2.12 4.70 1 #include <stdio.h> 2 3 int main() 4 { 5 double a, d; 6 int b;

使用Marshal.Copy把Txt行数据转为Struct类型值

添加重要的命名空间: using System.Runtime.InteropServices; 先建立结构相同(char长度相同)的Struct类型用于转换: [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct Employee { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] public char[] EmployeeId; [MarshalAs(Unmana