したがって、 "会計フォーマット"でフォーマットされた文字列として返される金額を返すメソッドを作成する必要があります。すなわち、負の量はそのまわりに括弧を持ち、小数点の左に3桁ごとにカンマが続きます。小数点以下の桁数は小数点第2位を四捨五入します。 量が負の場合、返される文字列の右端には、 の右括弧が付きます。量が正の場合、戻り文字列は の右端にスペースがあります。提供される幅によって、返される文字列の幅は何文字になるかが決まります。幅が、フォーマットされた値を表現するために必要な最小文字数より大きい場合、返される文字列はスペースで左に埋められます。幅がこの最小値以下の場合、幅は無視されます。このメソッドで埋め込まれたスペースを含む文字列をJavaで返す方法
これまでのところ、私のコードは次のとおりです。私は10の幅の入力番号「1000」、それが持つべき「1,000.00」の代わりに「1,000.00」を出力する場合、このコードで
String amountString = String.format("%,.2f", amt);
if (amt < 0){
String positionAmount = amountString.substring(1, amountString.length());
amountString = '(' + positionAmount + ")";
}
else{
}
//apply width
if(amountString.length() < width){
amountString = amountString + " ";
}
return amountString;
}}`
私の問題がありますスペースは先頭にスペースがあります。これは、幅が10で、最後にスペースが1つだけあるためです。
これを修正するにはどうすればよいですか?ありがとう!
をamountString前に "" を追加していないので、これはですstart(ammountString = "" + amountString + "") – crammeur
しかし今、私はwで0を入力すると巾1 "0.00"の代わりに "0.00" –
これを見てください。http://puu.sh/yjfts/2f1b2a6c5a.png –