public class FloatAdd
{
public static void main(String[] args)
{
String s = "3.14";
float f1 = 2.5f;
float f2 = Float.parseFloat(s);
System.out.println(f1);
System.out.println(f2);
System.out.println(f1+f2);
}
}输出结果是:
2.5
3.14
5.6400003 为什么不是5.64呢?
{
public static void main(String[] args)
{
String s = "3.14";
float f1 = 2.5f;
float f2 = Float.parseFloat(s);
System.out.println(f1);
System.out.println(f2);
System.out.println(f1+f2);
}
}输出结果是:
2.5
3.14
5.6400003 为什么不是5.64呢?
float a=5.0;这样写会出错,因为float型变量强制后面用f结尾,
所以像你写的
float f1 = 2.5f;
要是没有f结尾就必须把有效位显示出来
是要写入到另外一个文件当中,比如说用BufferedWriter写入到硬盘上的一个.xls表格里。所以还请指条明路呵呵
最好是先把这个5.64结果完全准备好,比如赋值给f3,最后一次性把这些数据写入到.xls表格里。
是要写入到另外一个文件当中,比如说用BufferedWriter写入到硬盘上的一个.xls表格里。所以还请指条明路呵呵
最好是先把这个5.64结果完全准备好,比如赋值给f3,最后一次性把这些数据写入到.xls表格里。
java.math.BigDecimal
搞定了,是不是这样?
import java.math.BigDecimal; public class FloatAdd
{
public static void main(String[] args)
{
String s = "3.14";
float f1 = 2.5f, f2, f3;
f2 = Float.parseFloat(s);
BigDecimal bd = new BigDecimal(f1+f2);
f3 = bd.setScale(2,BigDecimal.ROUND_HALF_UP).floatValue();
System.out.println(f1);
System.out.println(f2);
System.out.println(f3);
}
}
结果是:
2.5
3.14
5.64
public class FloatAdd
{
public static void main(String[] args)
{
String s = "3.14";
float f1 = 2.5f;
float f2 = Float.parseFloat(s); }
}
Float.parseFloat返回值好像是Double类型吧