2011-02-08 76 views
1

這對你們來說是一個非常微不足道的問題。請爲我提供實現最佳解決方案的方法。我的要求是,我有一個傳入的Double值,因此如果小數點後面的值爲0,則不會在小數點後截斷所有內容。例如:30.0應該變爲30,其中30.12或30.1應該保持原樣。直到現在,我只想出了一種方法來知道小數點後有多少位數字。雙數據格式

package com.convertdatatypes; 
public class DoubleCheck { 

public static void main(String args[]){ 

    Double value = 30.153; 
    String val = value.toString(); 
    String[] result = new String[2]; 

    for(int i=0; i<val.length(); i++){ 
    result = val.split("\\."); 
    System.out.println("Number of Decimals in: " + val + " : " + result[1].length()); 
    } 
} 

}

回答

1

另一種方法是使用下面的

double value = 30.153; 
Object value2 = value == (long) value ? String.valueOf((long) value) : value; 
System.out.println("Number of Decimals in: " + value2); 

通過這種方式,如果值保持不變或雙倍,則打印爲長整型。