我想象的非常简单的问题,似乎无法找到正确的方法来做到这一点。
我有一种方法可以产生我的总成本"成本" (预先定义的' double'变量)作为美元金额:
import java.text.NumberFormat;
public class Example {
private double cost = 3.5;
NumberFormat cash = NumberFormat.getCurrencyInstance();
public String getTotal(){
String money = cash.format(cost);
return money;
}
}
这适用于&打印" $ 3.50"正确。
我想知道是否可以采取以下措施:
public double getTotal(){
return cash.format(cost);
}
或
public double getTotal(){
double money = cash.format(cost);
return money;
}
显然上面没有编译,"无法从String转换为double"。我可以将NumberFormat作为double而不是String启动吗?
对我来说似乎完全没用,这是我试图关注的UML
+getTotal : double
答案 0 :(得分:1)
要将字符串值更改为double,可以使用
String text = "12.34";
Double.parseDouble(text);
您可以在函数中使用它来获取双倍值
public double getTotalCost(){
return Double.parseDouble(cash.format(cost));
}
答案 1 :(得分:0)
cash.format()
返回一个字符串,因此您的方法segnature必须是:
public String getTotalCostAsString(){
return cash.format(cost);
}
您无法使用public double
,因为$3.50
不是双倍。 double是没有符号的数值。