java的long类型与float相加出错问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的long类型与float相加出错问题相关的知识,希望对你有一定的参考价值。
public class CodeFour
public static void main(String[] args)
long a=300000000L;
float b=1.23f;
long c=123;
b=a+b+c;
System.out.println(b);
代码如上
打印结果为3.00000128E8,甚为不解,为什么是128,而不是124,求高手指教
你这种是不是就已经给截断了把结果,输出来的根本就不对啊
这是把结果按照浮点型的给截取后转换为的结果
两个byte型数据加在一起时,返回int型结果,那两个int相加呢?
两个int型数据相加可能等于long型
不一定吧,这要看你的机子设定类型了!如果你的机子设定的是int类型,那么返回的值也将是int类型。当然你的机子设定的类型是long类型,那么返回的值也将是long类型的! 参考技术A 2个 int 加还是int 参考技术B -_-!两个byte型数据相加,返回的还是byte。
两个int类型的数据相加 返回的还是int
byte类型和int类型,运算返回的int的。
long类型和float类型运算,返回float类型的
取精准度高的类型 参考技术C 这个要看编译器。在TC里面byte和int等价。
以上是关于java的long类型与float相加出错问题的主要内容,如果未能解决你的问题,请参考以下文章