java中怎么把数据库的number类型转换成long类型?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎么把数据库的number类型转换成long类型?相关的知识,希望对你有一定的参考价值。
参考技术A int t = rs.getInt(1);Long l = Long.valueOf(t);
这样即可!追问
我要在哪里转啊?
追答数据库里是number型,到页面显示的时候为什么要转换成Long型的?
追问java中定义的时候是用long类型定义的啊,页面上就转不过来
追答你的VO里定义的是Long?那你在set的时候转一下
追问还是不行,[11:34:47.438] http--8080-4 org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NumberFormatException: For input string: "int"
追答List lst = em.createQuery("SELECT distinct p.tid,p.typesName FROM PostType p ORDER BY p.tid, p.typesName DESC").getResultList();
if (lst.size() == 0)
return null;
return lst;
这个return list后来怎么处理的?把代码贴出来我看一下
是页面上转换的时候出错
追答报甚么错,拿出来看看。
追问[09:57:48.896] http--8080-8 org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.el.ELException: can't convert 'id' to long.
追答你的这个ID不能弄成String类型的吗,这样好操作一些啊。
另外,你的这个ID是甚么字段类型的
这个id我在数据库中用的是number类型,类中用的是long类型,可是页面转换的时候报错了
追答这个你们不能在程序里面转换一下吗?
另外,你想做甚么呢?
我是写了一条sql语句查询出这个id和名称在下拉框中,value为id,显示的为名称到页面上,这要怎么转?
追答这个很简单啊,不需要转化啊。
你的值
可是就是报刚才那个错了啊
追答奇怪了都。这个要能坐你旁边调试就好了
追问我还郁闷呢,弄半天了
追答找你们项目组的同事帮忙看看吧
追问一个个都比较忙啊,还是自己解决吧
追答能有好忙,说忙都是借口。
鄙视那样的同事。
我后台打印能打印出来,而且是数字
追答贴代码
追问后台:
List lst = em.createQuery("SELECT distinct p.tid,p.typesName FROM PostType p ORDER BY p.tid, p.typesName DESC").getResultList();
if (lst.size() == 0)
return null;
return lst;
页面:
$pt.typesName
三个把值转换成数值类型的函数:Number() parseInt() parseFloat()的区别
一 、Number()
Number()可以把任意值转换成数值,如果要转换的字符串中有一个不是数值的字符,返回NaN 例如:
var num1 = Number(true); //true返回1 false返回0
var num2 = Number(undefined); //返回NaN
var num3 = Number("hello"); //返回NaN
var num4 = Number(" "); //如果是空字符串返回0
var num5 = Number(123); //返回123,如果是数字,简单返回
var num6 = Number("123abc"); //NaN
var num7 = Number("abc123"); //NaN
二、parseInt()
1、parseInt()把字符串转换成整数
var num1 = parseInt("12.3abc"); //返回12,如果第一个字符是数字会解析知道遇到非数字结束
var num2 = parseInt("abc123"); //返回NaN,如果第一个字符不是数字或者符号就返回NaN
var num3 = parseInt(""); //空字符串返回NaN,Number("")返回0
var num5 = parseInt("10"); //返回10
var num4 = parseInt("0xA"); //返回10
2、parseInt()可以传递两个参数,第一个参数是要转换的字符串,第二个参数是要转换的进制
var num1 = parseInt("A",16); //A按16进制解析是10
var num2 = parseInt("10",10); //10按10进制解析10
var num3 = parseInt("10",16); //10按16进制解析16
var num4 = parseInt("10",8); //10按8进制解析是8
var num5 = parseInt("10",2); //10按2进制解析是2
var num6 = parseInt("10",3); //10按3进制解析是3
三、parseFloat()
1、parseFloat()把字符串转换成浮点数
2、parseFloat()和parseInt非常相似,不同之处在与 parseFloat会解析第一个. 遇到第二个.或者非数字结束 parseFloat不支持第二个参数,只能解析10进制数 如果解析的内容里只有整数,解析成整数
以上是关于java中怎么把数据库的number类型转换成long类型?的主要内容,如果未能解决你的问题,请参考以下文章
C#,字符串“Number”转换为数值等于多少?为啥用Convert。ToDouble()无法转换???
java中如何把一个String类型的变量转换成double型的?