java jsf保留两位小数问题
2010-06-25 18:00
471 查看
java保留两位小数问题:
方式一:
四舍五入
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
---------------------------------------------------------------
方式二:
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(你要格式化的数字);
例:new java.text.DecimalFormat("#.00").format(3.1415926)
#.00 表示两位小数 #.0000四位小数 以此类推...
方式三:
double d = 3.1415926;
String result = String .format("%.2f");
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
1、写一个转换器,在getAsString方法中对科学计数法的Double进行转换并返回
public String getAsString(FacesContext context, UIComponent component,
Object value)
{
Double dValue = (Double)value;
if (null == dValue )
{
return "没有取得value!";
}
DecimalFormat df = new DecimalFormat("#0.00"); //保留两位小数且不用科学计数法
return df.format(dValue);
}
2、在faces-config.xml中配置此转换器
<converter>
<description>NUMBER convert</description>
<converter-id>numberConvert</converter-id>
<converter-class>com.abc.jsf.convert.NumberConvert</converter-class>
</converter>
3、在页面上使用转换器
<h:inputText id="je" value="#{xxBean.je}" required="true">
<f:validateDoubleRange minimum="0.01" maximum="9999999999999.99"/>
<f:converter converterId="numberConvert"/>
</h:inputText>
这样处理后,页面在渲染阶段会将科学计数法的Double的je转换为String
方式一:
四舍五入
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
---------------------------------------------------------------
方式二:
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(你要格式化的数字);
例:new java.text.DecimalFormat("#.00").format(3.1415926)
#.00 表示两位小数 #.0000四位小数 以此类推...
方式三:
double d = 3.1415926;
String result = String .format("%.2f");
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
保留两位小数且不用科学计数法
JSF绑定bean的属性为Double时,如果输入的数字过长会自动转为科学计数法,这对界面显示是个障碍,通过一下方法可以进行转换1、写一个转换器,在getAsString方法中对科学计数法的Double进行转换并返回
public String getAsString(FacesContext context, UIComponent component,
Object value)
{
Double dValue = (Double)value;
if (null == dValue )
{
return "没有取得value!";
}
DecimalFormat df = new DecimalFormat("#0.00"); //保留两位小数且不用科学计数法
return df.format(dValue);
}
2、在faces-config.xml中配置此转换器
<converter>
<description>NUMBER convert</description>
<converter-id>numberConvert</converter-id>
<converter-class>com.abc.jsf.convert.NumberConvert</converter-class>
</converter>
3、在页面上使用转换器
<h:inputText id="je" value="#{xxBean.je}" required="true">
<f:validateDoubleRange minimum="0.01" maximum="9999999999999.99"/>
<f:converter converterId="numberConvert"/>
</h:inputText>
这样处理后,页面在渲染阶段会将科学计数法的Double的je转换为String
相关文章推荐
- java保留两位小数问题
- java中如何使Double类型的数值保留两位小数问题
- Java保留两位小数问题
- java中如何使Double类型的数值保留两位小数问题
- java保留两位小数问题:
- java保留两位小数问题
- java 金额计算,商业计算 double不精确问题 BigDecimal,Double保留两位小数方法
- java保留两位小数问题
- java保留两位小数问题
- java中如何使Double类型的数值保留两位小数问题
- 关于java格式化数据,保留两位小数不精准的问题
- Java保留两位小数问题
- java中如何使Double类型的数值保留两位小数问题
- Java处理Double类型的小数位保留问题
- java中double变量保留小数问题
- java保留两位小数4种方法
- java 保留两位小数
- java保留2位小数问题
- JAVA ——int 类型除法保留两位小数
- JAVA 除法结果保留两位小数