これは重複している可能性がありますが、私のコードで機能する答えが見つかりません。
Java でメソッド (料金を計算するため) の結果を切り捨てようとしています。次に、結果をテキスト ファイルに書き込もうとしましたが、本来のように表示されません。これは私が得るものであり、私がそれを返したいものです:
- 料金の結果は 8.4 です。8.40 を返す必要があります。
- 料金の結果は 8.0 です。8.00 を返す必要があります。
などなど...何か提案はありますか?
これは、メソッドのコード全体です。
public Double calculateFee(Parcel pcl) {
// Get type of parcel (E, S or X)
String typeOfParcel = pcl.getParcelID().substring(0,1);
// Formula for calculating fee
Double fee = (double) 1 + Math.floor(pcl.getVolume()/28000) + (pcl.getDays()-1);
// apply a discount to parcels of type "S"
if (typeOfParcel.equalsIgnoreCase("S")) {
fee = fee * 0.9;
}
// apply a discount to parcels of type "X"
else if (typeOfParcel.equalsIgnoreCase("X")) {
fee = fee * 0.8;
}
// This is what I tried:
// Tried also using #.##, but no result
DecimalFormat decim = new DecimalFormat("0.00");
fee = Double.parseDouble(decim.format(fee));
return fee;
}