分类:
2008-09-09 16:49:00
在公司实习时候发现个问题,就是大的浮点数从数据库取出后变成了科学计数法显示,而原有的验证控件并不能识别科学技术法,造成数据无法正常保存,临时找到了个解决办法。
当输入大数据的时候浮点类型在从数据库取出的时候会以科学计数法的形式显示。
比如输入:2222222222 回显时页面显示为:2.222222222E9 这样在修改时候无法正常保存。
解决办法:遇到此种情况时采用JSTL的fmt:format标签进行处理,
例如车辆单价:
注意黑体字部分是车辆单价的显示方式,maxIntegerDigits为整数部分显示的最大长度,maxFractionDigits为小数部分显示的最大长度。
这样可以将2.222222222E9转化成2,222,222,222 之后采用字符串匹配方式去掉” , ”,采用正则表达式处理,函数为
//用正则表达式处理字符串,去掉格式化之后的浮点数类型
function formatNum(id){
document.getElementById(id).value=document.getElementById(id).value.replace(/,/gi,'');
}
这个函数可以将2,222,222,222中的” , ”去掉,使其正常显示。
其中id为输入框的id。
在
的onload属性中添加如下语句调用formatNum("cldj");