我是Java编程GUI的新手。我的代码很简单,只需要做一些基本的算术,但由于某种原因,它不起作用。我不知道我正在使用String.valueOf()
。
我的代码:
String restaurantName;
double subTotal = 0;
int tipPercentage = 0;
double totalBill = 0;
double tipInDollars = 0;
restaurantName = txtRestaurantName.getText();
subTotal = Double.parseDouble(txtSubtotal.getText());
tipPercentage = Integer.parseInt(txtTipAmt.getText());
tipInDollars = ((tipPercentage / 100) * subTotal);
totalBill = (tipInDollars + subTotal);
lblDisplayTip.setText(String.valueOf(tipPercentage) + "%");
lblDisplayTotalBill.setText(String.valueOf(totalBill));
如果用户输入50表示小计,10表示小费百分比,我希望tipInDollars
等于5,totalBill
等于55。
然而输出是:
答案 0 :(得分:0)
您的问题不在于您的显示,而在于您的计算,或者更确切地说,是用于计算的变量。您可以将tipPercentage
设为double
,也可以将此行中的100分:tipInDollars = ((tipPercentage / 100) * subTotal);
设为100.0。两种解决方案都应该解决您的问题。
问题产生于将整数(tipPercentage
)除以另一个整数(100)。执行此操作时,Java将向下舍入并始终将结果设为0。