0

最初のいくつかの偶数を 2 つのゼロに丸めるにはどうすればよいですか?

public class MoneyDriver

     {
      public static void main( String[] args )
        {


         int a = 2011;
         int b = 21;
         double c = 2200.00;
         double d = 31500.00;




         System.out.println( "Year" + "\t" + "Age" + "\t" + "Balance at end of year" +
         "\t" + "Income adjusted for inflation" );

         for( int r = 1; r < 10; r++)
            {

            double e = Math.round(c * 100.0) / 100.0;    
            double f = Math.round(d * 100.0) / 100.0;  



            System.out.println( a + "\t" + b + "\t" + e + "\t" + f );


            a = a + 1;
            b = b + 1;
            c = ( c + 2000 ) * 1.1;
            d = ( d * 1.05 );

            }
         }
      }

現在、これにより次の出力が得られます。

 Year   Age Balance at end of year  Income adjusted for inflation
 2011   21  2200.0  31500.0
 2012   22  4620.0  33075.0
 2013   23  7282.0  34728.75
 2014   24  10210.2 36465.19
 2015   25  13431.22    38288.45
 2016   26  16974.34    40202.87
 2017   27  20871.78    42213.01
 2018   28  25158.95    44323.66
 2019   29  29874.85    46539.85

最初の 4 桁で小数点が固定されると、タブは自動的に修正されると思います。

私はJavaが初めてです!私は複雑なことを知りません..そして、多くのコードをまったく追加しない簡単な修正があるかどうか疑問に思っていました.

ありがとうございました!

4

3 に答える 3

2

お金を表すにはBigDecimalを使用する必要があります。

見る:

Java での金額の表現

https://blogs.oracle.com/CoreJavaTechTips/entry/the_need_for_bigdecimal

http://www.javapractices.com/topic/TopicAction.do?Id=13

スケーリング、丸め、書式設定などのために BigDecimal が持つさまざまなメソッドを使用できます。

于 2013-09-26T23:46:54.470 に答える
2

Cのようにフォーマットされた文字列を試すことができます:

System.out.printf("%d\t%d\t%.2f\t%.2f\n", a, b, e, f);
于 2013-09-26T23:36:13.650 に答える
0

printfを見てください:

http://docs.oracle.com/javase/tutorial/java/data/numberformat.html

フォーマットされたデータの印刷に適しています。自分で丸める必要さえありません!

于 2013-09-26T23:33:37.310 に答える