java double b = 0.333 , 乘以100 以后小数位变多;
发布网友
发布时间:2022-05-10 18:25
我来回答
共3个回答
热心网友
时间:2023-07-22 09:31
double 是双精度类型,也就是说你的d是double,而你的d*100中的100是整形(int)。这是自动类型转换
符合以下条件时java将会做自动类型转换:
(1)转换前的数据类型与转换后的类型兼容。
(2)转换后的数据类型的表示范围比转换前的类型大。
其中double的表示范围比int大,符合条件(2)。因此java会自动将原来为int的类型的变量100转换为double类型。追问多谢回答,采纳时 还没有你的答案。
追答没什么,大家相互学习就好
热心网友
时间:2023-07-22 09:32
这是精度问题,计算机一般的浮点计算都有精度,你就取小数点后几位来就行了
热心网友
时间:2023-07-22 09:32
你可以转下类型
double d = 0.333;
System.out.println((float)(d*100));