中山翠亨新区:Java类型转化问题(double到int)
来源:百度文库 编辑:杭州交通信息网 时间:2024/06/01 12:08:21
一段程序求一浮点数的小数部分.
double d=0.0;
int i=(int)d;
小数部分即为d-i;(只考虑正数)
当d的值的小数部分小于0.5时,比如1.4,
d-i的值却为0.399999999.
当d的小数部分大于0.5时候,比如1.6.
输出0.6.正常!为什么会有这种情况呢?
double d=0.0;
int i=(int)d;
小数部分即为d-i;(只考虑正数)
当d的值的小数部分小于0.5时,比如1.4,
d-i的值却为0.399999999.
当d的小数部分大于0.5时候,比如1.6.
输出0.6.正常!为什么会有这种情况呢?
这个属于机器内码精度问题,详细资料你可以找“计算机如何表示浮点数”的内容,总的来说就是计算机无法精确表示浮点数。
我倒没注意过这个问题,真的耶。
上网查了好多资料都是说先化成字符串再处理
Java类型转化问题(double到int)
Java double 类型转化为int类型的问题
java中 BigDecimal类型的可以转换到double类型吗?如何转换
在JAVA中如何把字符串类型强制转换成double类型
java中 BigDecimal类型的可以转换成double型吗?如何转换
java类型转换的问题.
使用java语言和template method模版方法实现对int ,double,String 类型的数据冒泡排序
使用java语言和template method模版方法实现对int ,double,String 类型的数据冒泡排序
一个java问题?类型强制转换
强制类型转换(Java)问题