java---double转int的问题

1、四舍五入

不进行四舍五入操作:
(int)x
进行四舍五入操作:
Integer.parseInt(new java.text.DecimalFormat("0").format(x))


2、存在科学计数法

Integer temp = Integer.parseInt(new DecimalFormat("0").format(src.get(i)));//存在科学计数法

String t = "2.0090102E9";
BigDecimal b = new BigDecimal(t);	
System.out.println(b.toPlainString()); 

输出:
2009010200 


问题背景;

远程调用,泛型被擦除,List<Integer>传过来,值都变成了double类型。无法直接用强转,

src.get(i).intValue()

Integer.valueOf(src.get(i))

也均失败。


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java 连接 mysql mysql-connector-java-5.1.32.zip - 解包大小为 946.3 KB 连接代码 @Test public void testFindAll() throws ClassNotFoundException, SQLException { //1. 注册数据库驱动(Driver) - 导入jar包:mysql-connector-java Class.forName("com.mysql.jdbc.Driver") ; /** * 解释: * ------- * jdbc:jdbc服务 * mysql:使用mysql的jdbc服务 * localhost:使用本地的mysql的jdbc服务 * 3306:使用本地的3306端口的mysql的jdbc服务 * ------- * jt_db 使用的数据库 * characterEncoding=utf-8 设置编码utf-8 * * 面向接口编程 - 思想 */ //2. 获取数据库连接 Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/jt_db?characterEncoding=utf-8", "root", "root"); /** * statement : 声明 */ //3. 获取传输器 Statement stat = conn.createStatement(); String sql = "select * from account;"; //4. 执行SQL语句,返回执行结果 ResultSet rs = stat.executeQuery(sql); /** * 理解ResultSet结构: * +----+------+-------+ * | id | name | money | 表头 ←—————————— 指向1 rs.next() true/false * +----+------+-------+ ←—————————— 指向2 true rs.get类型("列名") * | 1 | tony | 1000 | ... * | 2 | tom | 1000 | ... * | 3 | andy | 1000 | ←—————————— 指向n true rs.get类型("列名") * +----+------+-------+ ←—————————— 指向n false rs.get类型("列名") */ //5. 处理结果 while (rs.next()) { int id = rs.getInt("id") ; String name = rs.getString("name"); double money = rs.getDouble("money"); System.out.println(id+" : "+ name+" : "+ money); } //6. 释放资源 rs.close(); stat.close(); conn.close(); }
### 回答1: double类是Java中的一个包装类,用于封装基本数据类型double。它提供了一些方法,可以对double类型的数据进行操作和转换。例如,可以使用double类的parseDouble方法将字符串转换double类型的数据,也可以使用doubleValue方法将Double对象转换double类型的数据。此外,double类还提供了一些常量,如MAX_VALUE和MIN_VALUE,分别表示double类型的最大值和最小值。在Java中,double类型的数据通常用于表示浮点数,如小数或科学计数法表示的数值。 ### 回答2: Javadouble类是基本数据类型中的一种,它是一个浮点数类型,可以用来表示小数或者整数。在Java中,如果需要使用双精度浮点数,我们可以直接使用double类型,而不需要使用其它类库或者自定义数据类型。 Javadouble类提供了很多方法来处理双精度浮点数。比如,我们可以使用doubleValue()方法将一个Double对象转换double类型的值;使用compareTo()方法比较两个double类型的值的大小;使用isNaN()方法判断一个double类型的值是否为非数值。 同时,Javadouble类还提供了一些常量,如MAX_VALUE、MIN_VALUE、POSITIVE_INFINITY、NEGATIVE_INFINITY和NaN。其中,MAX_VALUE表示double类型的最大值,MIN_VALUE表示double类型的最小值,POSITIVE_INFINITY表示正无穷大,NEGATIVE_INFINITY表示负无穷大,NaN表示非数值。 除了基本的方法和常量,Javadouble类还可以拆箱和装箱。拆箱指将Double类型的值转换double类型的值,而装箱则是将double类型的值封装成一个Double对象。 在实际开发中,我们常常使用double类型来表示货币、收入、体重、距离等数值。使用double类型可以方便地进行数值计算,并且Java的标准库中提供了许多API来对double类型的值进行操作和处理,这大大提高了开发效率。使用double类型时需要注意其精度问题,因为在进行除法等计算时,可能会出现精度丢失的情况。此时,我们可以使用BigDecimal类来解决这个问题。 综上所述,Javadouble类是一个非常重要的基本数据类型,我们在日常开发中经常使用,需要熟练掌握其使用方法和注意事项。 ### 回答3: 练习Java包装类之Double类是学习Java语言基础的必备内容,Double类是Java中常用的包装类之一,它用于将基本数据类型double封装成一个对象。Double类提供了很多有用的方法,能够方便地进行数字转换、计算和比较等操作。 Double类中最常用的方法是parseDouble(),它可以将一个字符串转换double类型的数据。例如,可以使用Double.parseDouble("3.14")来获得一个double类型的值3.14。同时,Double还提供了很多其他的方法,如doubleValue()方法用于将Double对象转换double类型,intValue()方法用于将Double对象转换int类型,toString()方法用于将Double对象转换为字符串类型等。 此外,在使用Double类时还需要注意几个重要的特性。一是Double类是不可变的,即一旦创建了一个Double对象,它的值就不能再改变了。这意味着如果需要在程序中对double类型的数据进行频繁的修改,就应该使用基本数据类型double,而不是Double对象。 二是由于Double类是对象,所以在比较两个Double对象时,应该使用equals()方法而不是==操作符。因为==操作符只比较两个对象的内存地址,而不是它们的值,而equals()方法则比较两个对象的值是否相等。 最后,需要了解的是Double类中一些重要的常量。例如,Double.MAX_VALUE表示可表示的最大双精度浮点数,Double.MIN_VALUE表示可表示的最小双精度浮点数,NaN表示非数字(Not a Number),Infinity表示正无穷或负无穷。 练习Java包装类之Double类能够帮助我们更好地理解Java语言的基础知识和语法规则,同时提高我们对数字的处理能力和代码编写的效率。建议在学习Java语言时,重点掌握和实践常用的包装类,以更好地应用Java语言进行开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值