2013-07-02 76 views
2

我有一個long類型的值,它代表貨幣中的美分。我嘗試將其轉換爲歐元。所以,我做了以下:使用NumberFormat將美分轉換爲歐元

long val = 348; 
NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.FRANCE); 
System.out.println(nf.format(val/100)); 

我想上面的代碼會打印出3,48 €但我得到3,00 €。爲什麼?

回答

2

要強制浮點運算,可以使用雙字面100.0或浮動文字100.0f

System.out.println(nf.format(val/100.0)); 
2

因爲val/100是一個整數操作,所以deciaml部分被剝離。對於instane int i = 1;int result = i/2;會給你0

Change to System.out.println(nf.format(((float)val/100))); 
相關問題