0
public Foo(String name, double price)  
    {  
        this.name = name; 
        this.price = price;  
    }     
    // Overrride toString() for use of System.out.print() with Foo objects  
    public String toString()  
    {  
        return "Name: " + name + "\nPrice: $" + price + "\n";  
    }  

System.out.println(anyFoo); 小数点以下 2 桁の double の場合にのみ、価格が適切な形式で表示されます。return ステートメントを使用している場合、これを printf のようにフォーマットするにはどうすればよいですか?

ありがとう!

4

4 に答える 4

0

次のように DecimalFormat を使用できます。

DecimalFormat df = new DecimalFormat( "#,###,###,##0.00" );
double d = 123.456789;
System.out.println(df.format(d));
于 2012-11-29T16:25:13.553 に答える
0

使用できますString.format。この情報を読む: javadoc

于 2012-11-29T16:22:18.710 に答える
0

使用するString.format(String format, Object ... args)

于 2012-11-29T16:20:26.337 に答える
0

このようなことを試してください(追加することを忘れないでくださいimport java.text.*;

//... bla bla..
DecimalFormat myDecimalFormat = new DecimalFormat("#.##");
return "Name: " + name + "\nPrice: $" + myDecimalFormat .format(price)+ "\n"; 
于 2012-11-29T16:25:04.660 に答える