2014-02-14 20 views
0

我使用Sparrow's Kmax框架和我有這兩種方法Hundrednths外觀雙變量在Java中

public void setValueTo(String widgName, double val) { 
     String str = Double.toString(val); 
     KmaxWidget widg = tlsh.getKmaxWidget(widgName); 
     widg.setProperty("TEXT", str); 
} // setValueTo 

public void ROI(KmaxWidget widget){ 

     setValueTo("SUM", hist1D.getRegionSum(null)); 
     setValueTo("CENTROID", hist1D.getRegionCentroid(null)[0]); 
     setValueTo("FWHM", hist1D.getRegionFWHM(null)[0]); 
}//ROI 

第一個有兩個參數,其和爲double之一。第二種方法是鏈接到GUI的對象,因此SUM,CENRTROIDFWHM實際上是文本字段。出現在這些文本字段中的值在小數點後有許多數字。有沒有辦法在不改變變量類型的情況下「移除」那些數字?

請注意,我不能使用打印命令(由於我工作的框架)。

+0

java.text.DecimalFormat中 – laune

回答

2

您可以嘗試使用format specifiers%.3f),表示有多少數字小數點後會顯示創建String

double number = 10.123124123; 
String str = String.format("%.3f", number); // 3 decimals 

System.out.println(str); // 10,123 
+0

非常感謝您的回答!問題是打印的值來自一個對象。重要的是我不能使用'print'命令。我只能使用方法。例如,將double轉換爲sth(不包括打印命令)的方法可能是關鍵,但我不知道如何在沒有打印命令的情況下執行此操作。 – Thanos

+0

上面的代碼的第二行將替換你的行'String str = ...'。我提出的印刷聲明只是爲了顯示結果,你可以省略。 – Christian

+0

傻我!!! 它確實有效!非常感謝!! – Thanos