我在一个需要长和双倍格式为货币的应用程序上工作。我得到了正确的输出,数字出现在我的控制台中,但不是美元格式。我试过使用NumberFormat,但它不起作用,可能是我把它放错了地方。下面是我的代码:
import java.text.DateFormat;
import java.util.Date;
import java.text.NumberFormat;
private Date arrivalDate;
private Date departureDate;
private long elapsedDays;
private double TotalPrice;
public static final double nightlyRate = 100.00;
public double calculateTotalPrice()
{
long arrivalDateTime = arrivalDate.getTime();
long departureDateTime = departureDate.getTime();
long elapse = departureDateTime-arrivalDateTime;
elapsedDays = elapse/(24*60*60*1000);
TotalPrice = elapsedDays * nightlyRate;
NumberFormat currency = NumberFormat.getCurrencyInstance().format(TotalPrice);
return TotalPrice;
}
public double getTotalPrice()
{
this.calculateTotalPrice();
return TotalPrice;
}这告诉我将货币转换为字符串。当我这样做时,并试图为calculateTotalPrice方法返回货币,java告诉我要么将方法返回类型更改为字符串,要么将货币类型更改为double,这两种方法都会添加更多错误-永远不会结束循环。
我所要做的就是将我的nightlyRate和TotalPrice更改为货币格式。任何帮助我们的人都很感激。
对于每个请求,我将显示确切的错误消息:当我在calculateTotalPrice()中运行以下代码行时:
double currency = NumberFormat.getCurrencyInstance().format(TotalPrice);
return currency;错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from String to double
at
calculate.reservation.totals.Reservation.calculateTotalPrice(Reservation.java:48)
at calculate.reservation.totals.Reservation.getTotalPrice(Reservation.java:54)
at calculate.reservation.totals.CalculateReservationTotals.main(CalculateReservationTotals.java:63)当我将货币变量转换为字符串时
String currency = NumberFormat.getCurrencyInstance().format(TotalPrice);
return currency;我得到了完全相同的错误信息:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from String to doublehttps://stackoverflow.com/questions/55892261
复制相似问题