2012-11-23 21 views
0

兩個float值Acually我試圖在Java中添加兩個浮點值是這樣的:添加Java中

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。

+1

可能重複的[浮點不準確的例子](http://stackoverflow.com/questions/2100490/floating-point-inaccuracy-examples) –

回答

0

這並不是說實際的添加是錯誤的,只是打印出來的值是假設你不需要確切的值,用雷曼的術語來表示。事實上有時候事情會變成整數或奇怪地變成圓整到Round-Off Error

查看指定浮點十進制輸出這樣的回答:How to display an output of float data with 2 decimal places in Java?

+0

心臟完全謝謝你。你的答案已經完全符合我的要求。真的,對我來說,採取下一步是非常有幫助的。 – user1845286

0
float f1=123.00000f; 

    float f2=124.00000f; 

    float f3=f1+f2; 

    System.out.println(f1+f2); 
    System.out.printf("%.5f", f3); 

在這裏你去。我會去printf路線。每當我有這樣的東西,我總是使用printf

+0

衷心感謝你。你的回答與我的要求完全吻合。真的,對我來說,採取下一步是非常有幫助的。 – user1845286