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后来怎么处理的?把代码贴出来我看一下

参考技术B Long.parseLong(number+"");追问

是页面上转换的时候出错

追答

报甚么错,拿出来看看。

追问

[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,显示的为名称到页面上,这要怎么转?

追答

这个很简单啊,不需要转化啊。
你的值

追问

可是就是报刚才那个错了啊

追答

奇怪了都。这个要能坐你旁边调试就好了

追问

我还郁闷呢,弄半天了

追答

找你们项目组的同事帮忙看看吧

追问

一个个都比较忙啊,还是自己解决吧

追答

能有好忙,说忙都是借口。
鄙视那样的同事。

参考技术C 调试下,看出错的地方的value值是不是数字追问

我后台打印能打印出来,而且是数字

追答

贴代码

追问

后台:
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类型?的主要内容,如果未能解决你的问题,请参考以下文章

怎么把int转换为char类型

C#,字符串“Number”转换为数值等于多少?为啥用Convert。ToDouble()无法转换???

java中如何把一个String类型的变量转换成double型的?

在java中给数据库添加时间,怎么把字符串类型转换成时间类型?怎么往数据库中添加?

C++怎么把int转换成char

js 怎么把blob类型转化为string