我正在做这个Java问题:
Jalaj购买了一张价格为200卢比的桌子,并因其上有一些划痕 顶部他不得不卖出它为176.5卢比。找出他的损失和损失%。
损失:成本价格 - 销售价格
损失%:(损失/成本价格)* 100
一个。宣布四个双变量,即costprice,sellPrice,loss, lossPercentage
湾将200.4分配给costPrice,将176.5分配给sellingPrice。
℃。打印损失和损失百分比根据给定的公式,如: 823.67 8.23 d。
要打印最多两位小数,请使用
System.out.printf("%.2f\n", loss);
注意:
两者的输出应该是最多两位小数
- 醇>
输出应以两行显示
我的代码:
/*Write your code here */
import java.util.Scanner;
class bkws{
public static void main(String args[]){
double costPrice,sellingPrice,loss,lossPercentage;
costPrice=200.4;
sellingPrice=176.5;
loss=costPrice-sellingPrice;
lossPercentage=(loss/costPrice)*100;
System.out.print("%.2f",loss);
System.out.println("%.2f",lossPercentage);
}
}
现在我正在考虑使用Math.round
,但是为了舍入到2位小数,它应该是:
Math.round(number*100)/100;
但是它给出了错误,我也想知道如果有一种简单的方法可以在Java中使用n
四舍五入到Math.round
小数位。
答案 0 :(得分:2)
double costPrice,sellingPrice,loss,lossPercentage;
costPrice=200.4;
sellingPrice=176.5;
loss=costPrice-sellingPrice;
lossPercentage=(loss/costPrice)*100;
System.out.println(String.format("%.2f", loss));
System.out.println(String.format("%.2f", lossPercentage));
OR
double costPrice,sellingPrice,loss,lossPercentage;
costPrice=200.4;
sellingPrice=176.5;
loss=costPrice-sellingPrice;
lossPercentage=(loss/costPrice)*100;
loss = (int)Math.round(loss * 100)/(double)100;
lossPercentage = (int)Math.round(lossPercentage * 100)/(double)100;
System.out.println(loss);
System.out.println(lossPercentage);
答案 1 :(得分:0)
printf
最后使用{{1>} 格式是与f
或print
不同的方法
要打印最多两位小数,请使用
System.out.printf(“%。2f \ n”,遗失);
BTW:在格式字符串中使用println
是比%n
更好的选择,因为\n
与平台无关。
如果您使用格式的舍入,则无需舍入结果。
答案 2 :(得分:0)
这里要学到的真正教训是:所有你需要的东西都清楚地记录下来。
您可以从这里开始了解System.out;然后继续前进,了解这些PrintStreams如何发挥作用。
你也会在那里找到很好的解释"格式"模式实际上有效。
换句话说:使用Java的一个重要方面是:A)几乎所有东西都有一个库方法,而且B)所有这些都以非凡的质量记录。没有必要推测;而且:甚至不需要向其他人询问此类信息。它就在那里,等着你。