實體中定義為Double型,如果為整數的話頁面上會顯示為XX.0
現要求整數的話顯示整數,小數的話顯示兩位小數(如1.0顯示為1,1.123顯示為1.12)
@Name("salaryValueConverter")
@BypassInterceptors
@org.jboss.seam.annotations.faces.Converter(id = "salaryValueConverter")
public class SalaryValueConverter implements Converter {
private static final String INTEGER_FORMATTER = "#,###";// 整型數據轉換后的格式
private static final String DOUBLE_FORMATTER = "#,###.##";// 浮點型數據轉換后的格式
private static final String EXCEPTION_MESSAGE = "請輸入數字格式!";// 格式轉換出錯提示信息
private static final String NULL_STRING = "";// 空字符串
/*
* (non-Javadoc)
*
* @see
* javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext
* , javax.faces.component.UIComponent, java.lang.String)
*/
public Object getAsObject(FacesContext context, UIComponent component,
String value) {
// TODO Auto-generated method stub
if (value.equals(NULL_STRING))// 如果value為空返回空值
return null;
try {
return Double.parseDouble(value.replace(",", NULL_STRING).trim());
} catch (NumberFormatException e) {
// TODO: handle exception
e.printStackTrace();
FacesMessages.instance().add(EXCEPTION_MESSAGE);
return null;
}
}
/*
* (non-Javadoc)
*
* @see
* javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext
* , javax.faces.component.UIComponent, java.lang.Object)
*/
public String getAsString(FacesContext context, UIComponent component,
Object value) {
// TODO Auto-generated method stub
DecimalFormat integerFormatter = new DecimalFormat(INTEGER_FORMATTER);// 整型轉換
DecimalFormat doubleFormatter = new DecimalFormat(DOUBLE_FORMATTER); // 浮點型轉換
if ((Double) value % 1 == 0) {// value為整數(如1或者1.0)
return integerFormatter.format(value);
} else {// value為小數(如1.1)
return doubleFormatter.format(value);
}
}
}
<h:inputText value="#{abc}" converter="salaryValueConverter" />
分享到:
相关推荐
格式转换只是基础,葛兰岱尔模型格式转换器还能对3D/BIM模型中的标准管线构件进行自动减面,降低3D/BIM模型三角面片数量;将3D/BIM构件ID输出到转换格式(fbx、gltf/glb、3dtiles、obj)几何数据中,并实现与输出为...
数字进制转换器 可以将数字在十进制、十六进制、八进制、二进制之间自由转换。
葛兰岱尔模型格式转换器支持导入的3D/BIM/GIS软件或模型格式包括: BIM格式:Revit、Bentley、Tekla、Sketchup、Rhino3D、Nwc/Nwd; 3D格式:Siemens Nx(UG)、Creo(proE)、CatiaV5、Solidworks、Inventor、stp/...
数字进制转换器 可以将数字在十进制、十六进制、八进制、二进制之间自由转换。
模拟/数字转换器ADC0804 虽不是很详细但是自我感觉对于理解还有吸收很有帮助
天乐数字大写转换器_v1.0,可以实现数字转化为大写数字,适用于金融行业相关人员,无广告无插件,纯绿色,简单快捷,更可以读出转换后的数值!
实现了1-9999罗马数字与阿拉伯数字的相互转换。
java将数字转换为时间格式,好方法,可以看看
VLBI数字基带转换与存储设备,利用dsp芯片和FPGA芯片实现数据采集
人民币金额大写数字转换器,可以方便不经常写支票的人使用,只要输入阿拉伯数字,就自动转换成汉字了!
介绍了基于TDC-GP21的时间数字转换器技术的原理及实现方法,以及测试
时间数字转换器(TDCs) 在激光测距中的应用!!!!!!!!!!!
DcmTransform是一款专用的医学格式转换器,于对符合DICOM 3.0标准的医学图像文件。软件首先对DICOM文件中的数据进行解析,并将其以图像的样式显示。图像显示后,用户可以自定义地调节医学图像的窗位窗宽。由于医学...
纯C的源码 适合初学者 需要考虑的问题比较多 自学分析源码 对于各数据类型范围有个巩固
ngelmann DVR Converter 数字视频,录制视频格式转换器,兼容DVD刻录机,接收机,数字相机,硬盘录像机,DVD - S和DVB - T的数据流,电脑电视卡 - PAL和高清分辨率。 Engelmann DVR Converter 可以处理几乎任何其他...
MATLAB和计算机声卡的模拟——数字转换器.pdf
10进制、16进制、 8进制、 2进制、 相互转换。十分方便。
C#379-数字大小写转换器,源代码
扩展电容数字转换器AD7745-AD7746的容性输入范围
MAX31865 电阻 - 数字转换器优化的铂电阻温度检测器(rtd)