java,两个float相乘,如:0.6f*100.0f=60.000004,为什么?

来源:百度知道 编辑:UC知道 时间:2024/05/03 07:03:32
0.3f*100.0f=30.000002
如何改进了,我只想让结果为60.0,30.0

在java文件头上导入DecimalFormat包,控制java的格式化输出;举例如下:
import java.text.*;//导入java.text.DecimalFormat包,
public class test{
public static void main(String arg[]){
DecimalFormat df=new DecimalFormat("0.0");//确定输出格式以“0.0”格式输出结果
System.out.println(df.format(0.3f*100.0f));//输出结果:30.0
}
}

用别的类型试试

float类型保留六位小数!明白不???