2017-03-07 40 views

回答

1

這裏有一個例子

double f1 = 4.5; 

    String str = new Double(f1).toString(); 
    str = str.replace(".", ""); 

    Integer i = Integer.parseInt(str); 

    System.out.println(i); 
+1

請注意,如果結果位於「int」範圍之外(最多略大於2000000000),您將得到一個'NumberFormatException'。 –

2

一個辦法是這樣的:

float number = 4.55f; 
int desiredNumber = Integer.parseInt(String.valueOf(number).replaceAll("\\.", "")); 

但是這樣的事情如果轉換模式將保持不變,只會工作。通過這個我的意思是你想從float轉換爲int的方式。希望這可以幫助。

0

如果你想能夠hanlde任意大的數,任意多的小數位,那麼你可以使用BigDecimalBigInteger

BigDecimal number = new BigDecimal(
      "5464894984546489498454648949845464894984546489498454648949845464894984546489498454648949845464894984.1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"); 
    String valueOf = number.toPlainString(); 
    BigInteger desired = new BigInteger((valueOf.replaceAll("\\.", ""))); 
    System.out.println(desired); 

構造可以採取雙重或浮動,如果需要

BigDecimal number = new BigDecimal(Double.MAX_VALUE); 
    BigDecimal number = new BigDecimal(Float.MAX_VALUE); 
0

東西像這樣:

public int convert(float numbre) { 

    String nmbre = String.valueOf(numbre).replace(".", ""); 
      return Integer.parseInt(nmbre); 
     } 
0

你可以轉換將數字轉換爲字符串,刪除點,並創建一個新的Long:

private long removeTheDot(Number number) { 
    return Long.valueOf(number.toString().replace(".", "")); 
} 

Ka-Bam!