import java.io.*;
public class App
{
public static void main (String args[])
{
String s = "";
double d,y1 = 0;
int y = 0;
try{
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("请输入一个浮点数:");
s = in.readLine();
d = Double.parseDouble(s);
y = (int)Math.floor(d);
y1 = d-y;
}catch(IOException e){}
System.out.println("你输入的是:" + y + " and " + y1);
}
}
这是个输入一个小数,然后将小数部分和整数部分分别输出的程序
为什么输入一个2位小数,小数部分的计算结果总是不对?
如输入一个 3.05 小数部分是0.0499999999982
怎么解决这个问题?作者: 王海宇 时间: 2012-9-30 18:08
这是由于精度问题造成的,好像没有直接的解决方法,但是你可以去查询一下这个类BigDecimal,能够解决你的问题