`

double转成int,尽量不丢失小数点后面的值

 
阅读更多

       在一种应用环境下,输入一个double值,小数点位数不太多(比如2位),如果要原值扩大100倍再转成int,则有些double值不能正确换。比如

       

int id = (int)( d * 100 );

 

      如果d = 10.03.

      则转成的结果是1002。

      好的方式是:double→String→int,
     

String dString = String.valueOf(d);
String str = dString.replace(".", "");
int iAmount = Integer.parseInt(str);

 

分享到:
评论

相关推荐

    JsonConverter解序列化DataTable小数位丢失.pdf

    但是,如果列H的值为1,那么它将被解释为int类型,这样列h中的任何小数值都会丢失小数部分。 5. 解决方案: 解决小数位丢失问题的关键在于避免自动数据类型推断导致的问题。一个可行的方案是在动态转换过程中统一...

    SAP HANA数据计算后小数点位数异常

    ### SAP HANA 数据计算后小数点位数异常解析及官方解决方案 #### 一、问题背景及概述 在SAP HANA系统中,用户可能会遇到数据计算后小数点位数异常的问题。这类问题通常出现在对数据库进行升级之后,具体表现为SQL...

    C语言数据类型转换PPT课件.pptx

    例如,(double)a 将a转换成double类型,(int)(x+y) 将x+y的值转换成整型,(float)(5%3) 将5%3的值转换成float型。 6. 类型转换规则 在C语言中,类型转换的规则如下: * 浮点型与整型:将浮点数(单双精度)转换为...

    文件夹37:Konverzija int double

    但需要注意的是,这样做可能会丢失精度,因为int类型的整数值会被看作是十进制小数点后跟零的double值。例如: ```java int c = 10; double d = (double) c; // 显式转换 ``` 3. **数学运算**:通过与一个double...

    数据类型转换

    - **Int to Long**:`int` 类型到 `long` 类型的转换通常不会丢失信息,因为 `long` 类型能够容纳 `int` 类型的所有可能值。 - **Long to Int**:反之,`long` 类型到 `int` 类型的转换则可能导致数值溢出,需要谨慎...

    Java3、类型转换(变量转换和方法转换).doc

    - 带有小数点的数字常量默认为 `double` 类型。 - 带有后缀 `L` 或 `l` 的数字常量为 `long` 类型。 - 带有后缀 `F` 或 `f` 的数字常量为 `float` 类型。 示例: ```java int a = 123; // 默认为 int 类型 long b ...

    PHP程序设计-3期(KC016) 经验技巧2-4 类型转换.doc

    如果原始值是整型,会保留整数值并添加小数点后零;如果是字符串,同样会尝试解析为浮点数。 - `(string)`:将值转换为字符串。对于数字,会先将其转换为字符串形式;对于布尔值,`true` 转换为 "1",`false` 转换...

    java-数据类型转换、运算符、方法入门_java_

    而强制类型转换需要程序员明确地进行,但可能会丢失精度或引发异常,例如将double转换为int。 1. 基本数据类型:Java有八种基本数据类型,分为整型(byte, short, int, long)、浮点型(float, double)、字符型...

    JAVA数据类型

    但需要注意,转换可能会导致数据丢失,例如,将double转换为int时,小数部分会被舍去。 2.5 类型间的转换规则同样适用于基本数据类型和对象的引用。当基本数据类型与包装类(如Integer、Double等)进行操作时,会...

    C语言字符串和数字转换函数

    - 转换过程中可能会丢失小数点后的部分。 #### 3. atol(将字符串转换成长整型数) - **函数原型**: ```c #include long atol(const char *nptr); ``` - **功能描述**: `atol` 函数用于将一个字符串转换成长...

    java面试题

    强制类型转换可能会导致数据丢失或精度下降,例如从`int`转换为`byte`时,超出`byte`范围的值会被截断。 ##### 包装类过渡类型转换 Java提供了六种包装类来辅助基本数据类型和其他类型之间的转换,如`Integer`、`...

    C语言中数据类型转换及其应用探究.pdf

    例如,如果一个int类型的变量赋值给一个long类型的变量,通常不需要特别的转换,因为long类型可以容纳int类型的数据。 强制类型转换则是一种显式的类型转换方式。程序员可以使用强制类型转换操作符来改变变量的数据...

    C++数据类型转换技巧.pdf

    在C++编程中,数据类型转换是至关重要的,它允许我们根据需求在不同类型的值之间进行灵活的操作。这里我们将深入探讨几种主要的数据类型转换方法,包括字符串与整数、浮点数之间的转换,以及整数、浮点数转换为字符...

    Java 字符串和基本数据类型之间的转换

    - **精度丢失**:浮点数转字符串时,由于浮点数的二进制表示方式,可能会丢失部分精度。 4. **格式化输出** - 使用`NumberFormat`类可以定制数字的输出格式,例如添加千位分隔符,指定小数位数等。 - `...

    c语言代码:把以度表示的地理坐标化为度分秒

    f = (double)f1 + ((double)((int)f2)) / 100.0 + f / 10000.0; // 组合度分秒 return f; } ``` ### 四、代码解析 - **变量定义**: `f1` 用于存储整数度数,`f2` 和 `f` 分别用于计算分钟数和秒数。 - **加法...

    day02 【数据类型转换、运算符、方法入门】.pdf

    通常在赋值操作时使用,例如,把一个double类型的数据赋值给int类型变量时,如果不进行强制转换,则会编译错误。强制转换需要在目标类型前加上括号,将需要转换的数据放入括号中。需要注意的是,浮点数转整数时,会...

    C#基础之数据类型转换

    例如,将int类型的值赋给long类型的变量时,就不需要进行任何转换,因为long类型的容量比int要大,能够无损地存储int类型的值。 显式转换,则需要使用类型转换运算符来强制转换。这种转换可能会导致数据丢失或者...

    C程序设计语言(第二版).doc

    - C语言提供了几种基本数据类型,包括`char`、`int`、`float`和`double`。 - `char`类型占用一个字节,通常用于存储字符或作为小型整数。 - `int`是整数类型,其大小由宿主机环境决定,通常反映主机的整数自然...

    (计算机组成原理)第3章作业评讲(1).ppt

    例如,将double转换为float可能丢失部分尾数,而将int转换为float后,再转换回int可能不会恢复原始值。 7. **C语言中的变量赋值**:在32位机器上,int占32位,short占16位。当不同类型的变量相加时,可能涉及到类型...

    第 Java的基本数据类型PPT学习教案.pptx

    首先,整型(int)是Java中最基本的数据类型之一,用于表示没有小数点的数字,支持10进制、8进制和16进制的表示方法。10进制是最常见的,而8进制前缀为0,16进制前缀为0x。例如,int i = 11; 和 int j = -12; 分别...

Global site tag (gtag.js) - Google Analytics