在Java中添加两个浮点值
实际上,我尝试在Java中添加两个浮点值,如下所示:在Java中添加两个浮点值,java,floating-point,Java,Floating Point,实际上,我尝试在Java中添加两个浮点值,如下所示: import java.text.DecimalFormat; class ExactDecimalValue { final strictfp static public void main(String... arg) { float f1=123.00000f; float f2=124.00000f; floa
import java.text.DecimalFormat;
class ExactDecimalValue
{
final strictfp static public void main(String... arg)
{
float f1=123.00000f;
float f2=124.00000f;
float f3=f1+f2;
System.out.println(f1+f2);
System.out.println("sum of two floats:"+f3);
/*my expected output is:247.00000
but comming output is:247.0 and 247*/
}
}
现在我可以做什么来得到这种格式的值:247.00000。并不是实际的加法是错误的,只是打印出来的值是假设你不需要精确的值,用外行的话说。。。有关浮点精度的详细信息,请参阅: 请参阅有关指定浮点小数输出的回答:这将起作用:
float f1=123.00000f;
float f2=124.00000f;
float f3=f1+f2;
System.out.println(f1+f2);
System.out.printf("%.5f", f3);
每当我想格式化浮动时,我总是使用printf。方法1:
Float f3 = Float.sum(f1, f2);
方法2:
Float f3 = f1.floatValue()+f2.floatValue();
可以使用DecimalFormat类设置精度
float f1=123.00000f;
浮球f2=124.00000f;
浮点数f3=f1+f2;
DecimalFormat f=新的DecimalFormat(“0.00000”);
System.out.println(f.format(f3));
产量将为247.00000