2016-09-12 16 views
0

私は、このJavaの質問をしていますに倍増:値を表示する方法のみ2点で最大小数点以下の桁数は、java

Jalaj purchased a table for Rs.200.4 and due to some scratches on its top he had to sell it for Rs.176.5. Find his loss and loss%.

LOSS : Cost Price - Selling Price

LOSS% : (LOSS/Cost Price)*100

a. Declare four double variables i.e. costprice, sellingPrice, loss, lossPercentage

b. Assign 200.4 to costPrice and 176.5 to sellingPrice.

c. Print loss and lossPercentage according to the given formulas like: 823.67 8.23 d.

For printing upto two decimal places use

System.out.printf("%.2f\n", loss); 

Note:

  1. output for both should be upto two decimal places

  2. Output should be displayed in two different lines

マイコード:今、私はMath.roundを使用するのではなく、四捨五入のために考えています

/*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); 
    } 
} 

小数点以下2桁にする必要があります。

しかし、エラーが発生しており、 JavaでMath.roundを使用せずに、小数点以下の桁数をnに簡単に切り捨てることができます。 %nはプラットフォーム独立であるよう\nより良い選択書式文字列内%nを使用している:最後にfのフォーマット

+1

@Unknownはあなたの指示のためのコードをコピー/ペーストする方法についての複製です;) –

+0

'@ PeterLawrey'' code'によって助けることができるなら、** words **ではなくなるでしょう! –

+0

@utkarshdubeyすでに使用する必要があるコードは1行分与えられています。それがうまくいかなかったにもかかわらず、あなたが何か違うことをした理由は私には分かりません。私はあなたの答えに必要なコードを繰り返しました。 –

答えて

0

printfはBTW異なるprintの方法又はprintln

For printing upto two decimal places use

System.out.printf("%.2f\n", loss);

あります。

フォーマットに丸めを使用する場合は、結果を丸める必要はありません。

+0

丸められる数値が 'double'の場合はどうなりますか? –

+0

私は '%。2f'は 'float'のためです –

+0

@utkarshdubey私はそれを試してみることをお勧めします。 ;) 'float'、' double'、 'BigDecimal'のために使うことができます –

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); 
+0

これは長くて複雑な作業ですが、割り当てが与えられているので、OPが使用するように指示されたコードを使う方が良いでしょう。 –

+0

ありがとう!それは働いた何かを取得する –

+0

@ utkarshdubeyはあなたにトップマークを与えることはありません、あなたはまた、指示に従うことができることを示す必要があります。 –

0

ここで学ぶべき本当の教訓:あなたが必要とするすべてのものは、明確に文書化されています。

System.outについては、ここから開始できます。そのようなものがどのように一般的に働くかを理解してください。

これらの「フォーマット」パターンが実際にどのように機能するかについては、ここでうまく説明されています。

言い換えれば、Javaを使うことの大きな点は、A)ほぼすべてのライブラリメソッドがあり、B)そのすべてが並外れた品質で文書化されていることです。推測する必要はありません。他人にそのような情報を求める必要はありません。それはあなたのために待っています。

関連する問題