精华内容
参与话题
问答
  • double转int

    万次阅读 2019-01-24 09:29:03
    关于double转int类型,在本来的认知中,以为任何情况强转可以搞定一切,但在实际应用时发现不然,需求是需要从excel表中读出xx.xx这样的数字信息,且需要在此数值*100后作为查询条件去db查询,这就需要精确性了,...

    关于double转int类型,在本来的认知中,以为任何情况强转可以搞定一切,但在实际应用时发现不然,需求是需要从excel表中读出xx.xx这样的数字信息,且需要在此数值*100后作为查询条件去db查询,这就需要精确性了,对于基础小白来讲,还是做个笔记记下吧,先看强转的例子:

            Double a = 2.3 * 100;
            int i = new Double(a).intValue();
            System.out.println(i);

    输出结果:229

    ok,很明显不是我们要的结果,从上面可以看出,在转换时发生了精度丢失问题,转为int类型会把后面的小数点全部砍掉,不同数据类型转换过程中会有这个问题,原因是计算机是2进制的,针对这种情况的控制方法可以使用DecimalFormat来解决:

    new DecimalFormat("0").format(a)

    返回的是String类型,控制台输出:230,具体需要保留几位可以通过DecimalFormat来进行设置。

    展开全文
  • double int

    2013-11-16 15:30:09
    怎么样把double 类型转化为...(1)把double先转化成int类型 Double reseve3=Double.parseDouble(bddet[0].getReserve3()); int b=reseve3.intValue(); (2)再把int类型转化为Integer类型 Intege...
    怎么样把double 类型转化为Integer类型

    (1)把double先转化成int类型

    Double reseve3=Double.parseDouble(bddet[0].getReserve3());

    int b=reseve3.intValue();

    (2)再把int类型转化为Integer类型

    Integer rentCount=Integer.valueOf(b);
    展开全文
  • C#: double转int , String转int

    千次阅读 2018-12-08 11:49:51
    该程序是在控制台程序中测试 ,下面分别介绍两种方法,代码如下: using System; namespace ConsoleApp17 { class Program { static void Main(string[] args) ... //doubleint //A方法: Convert.Toint...

     

    该程序是在控制台程序中测试  ,下面分别介绍两种方法,代码如下:

    using System;
    
    namespace ConsoleApp17 {
        class Program {
            static void Main(string[] args) {
                //double ➡ int
                //A方法:  Convert.Toint32(double) ➡ int  :四舍五入   【特殊①】
                //B方法:  (int)double ➡ 去除小数
                double a = 3.4;
                double c = 3.6;
                Console.WriteLine(
                    Convert.ToInt32(a)
                    +"\n"+ 
                    Convert.ToInt32(c)
                    +"\n"+
                    (int)a
                    +"\n"+ 
                    (int)c
                    +"\n"
                    );
                //【①】如果小数位于两个整数的正中间,则得到的整数为偶数,不为奇数
                double b = 3.5;
                double bb = 4.5;
                Console.WriteLine(
                    Convert.ToInt32(b)
                    + "\n" +
                    Convert.ToInt32(bb)
                    + "\n"
                    );
    
                //如果参数为Null,A方法对应0,B方法报错
                Console.WriteLine(
                    Convert.ToInt32(null) +"\n"
                    //+ (int)null    报错
                    
                    );
    
    
                //String ➡ int
                //A方法:int int.parse(String s);  s格式如果不对,会报错
                //B方法: bool int.Tryparse(String s ,out int a);  如果异常,a=0,并且返回false
                String rightString = "2018";
                String errorString = "liuyan";
                Console.WriteLine(
                    int.Parse(rightString)
                );
                //int.Parse(errorString); 报错
    
                int result3, result4;
                int.TryParse(rightString,out result3);
                int.TryParse(errorString,out result4);
                Console.WriteLine(result3+"\n"+result4);
    
           
    
                Console.Read();
    
            }
        }
    }
    

    打印如下:

     

     

     

     

    展开全文
  • double int 的问题

    2016-01-07 13:11:36
    double f_temp = 1.001 * 10000; int i_temp = f_temp; printf("%f, %d\n", f_temp, i_temp); return 0; } 为何编译运行输出: 10010.000000, 10009 编译器为: g++ (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010
  • double转int问题

    千次阅读 2018-09-03 16:15:34
    一、代码实现 ... public class TTTT { public static void main(String[] args) { double d =1.76; System.out.println((int)d); double f =1.16; System.out.println((int)f); } ...

    一、代码实现

    package com.test.test;
    
    public class TTTT {
    	
    	public static void main(String[] args) {
    		double d =1.76;		
    		System.out.println((int)d);
    		double f =1.16;		
    		System.out.println((int)f);
    	}
    }
    

     

    输出结果:

    二、原因分析

    1.double转int类型,小数点后面抹零,不存在四舍五入。

    2.所以,后续在将小数的double转换成为int的时候,一定要注意,小数点后面的部分是自动抹去的。

     

    展开全文
  • java double类型保留位数、double转int

    万次阅读 2017-12-12 16:27:05
    1.double保留小数点后一位 DecimalFormat df = new DecimalFormat("#.0"); df.format(0.99); 同理,保留小数点后两位 DecimalFormat df = new DecimalFormat("#.00"); df.format(0.99); 同理保留小数点后零位 ...
  • java double转int

    2019-07-22 23:44:59
    应该先生成一个double的外覆型Double,再用DoubleintValue()得到int。 例子: double d=6.0; int i=new Double(d).intValue(); 转载于:https://www.cnblogs.com/hualidezhuanshen/p/5433539.html...
  • double int

    2013-11-19 14:40:53
    java.text.NumberFormat formater = java.text.DecimalFormat.getInstance();  formater.setMaximumFractionDigits(0);  formater.setMinimumFractionDigits(0);  System.out.println(formater.format(50.00))
  • double转int类型

    2020-06-07 23:12:55
    double转int类型 方法一 double double1 = 111.111; int int1= new Double(double1).intValue(); System.out.println(int1); 方法二 double double2= 222.222; int int2 = (int)Math.round(double2); int int22 = ...
  • 类型转换是什么? 不同数据类型间的转换,如:将int类型转换为string类型 为什么需要类型转换? 从控制台接收到的用户输入的内容都是string类型,如果要进行计算,就需要将接收到...double int num1 = 10; ...
  • java中double转int

    千次阅读 2016-04-21 01:49:53
    java中double转int  (1)、 (int) 2.9 = 2;//不进行四舍五入  (2)、 四舍五入:new BigDecimal("1.5").setScale(0, BigDecimal.ROUND_HALF_EVEN);  其中half_even: 2.5=2; 1.5=2; (类似于银行家算法)  ...
  • double转int精度丢失

    2012-02-10 16:33:09
    double x; int y; x=0.03; y=(int)(x*100); y成2了,我想要的是3啊,这是怎么回事,应该怎么搞法?
  • double转int精度丢失问题

    千次阅读 2015-05-10 18:19:45
    在做学校的acm题时遇到这么一个问题,多余部分已省去,问题部分为: 输入正整数n,取2的n次方的最高位。 由M=2^n,两边取以10为底的对数,logM=nlog2=y ...则pow(10,y的小数部分)即为所求...int high(long long int
  • Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").registerTypeAdapter(Double.class, new JsonSerializer<Double>() { @Override public JsonElement serialize(Doub...
  • double转int时的误差

    2014-01-20 20:36:00
    2019独角兽企业重金招聘Python工程师标准>>> ...
  • Java精度丢失之String转Double转int

    千次阅读 2018-01-22 23:30:58
    看起来很简单,于是代码出来了: Double d = Double.parseDouble("0.850"); int result = (int) (d*100);随便找了两个数试了试都没问题就以为大功告成了,谁知道测试的同事告诉我0.570显示的是56而不是57,我抱着...
  • double *t; int num; t=mexGetPr(prhs[0]); num=(int)t[0];...mex的输入类型只能是double的MexArry,实际中还需int类型,如果不进行转化计算的结果就不会正确,因此需要进行相应的转换,如上所示。...
  • double f; int num =(int) f*100; 结果是:输入f = 1.23, 输出 num = 122.  输入f = 1.25 输出 num =125 这就是著名的double精度损失问题。 因为1.23在计算机里面只能表示为近似值:1.2299999999............
  • double转int四舍五入

    2014-06-25 23:35:40
    Integer.parseInt(new java.text.DecimalFormat("0").format(x));
  • double转int类型会丢失精度,今天我们就回答为什么会丢失精度,以及最好的解决方案.

空空如也

1 2 3 4 5 ... 20
收藏数 11,842
精华内容 4,736
关键字:

double转int