私はfloatをここで切り捨てています。しかし、私の値は丸められています。私はそれを望ましくありません.E.g私の値が12.989なら - 12.98のみとして出力されます。誰か助けることができます 10進形式のSetRoundingModeはJava 1.6からのみサポートされているため、使用できません。 マインは1.5 JDKです。誰かがSetRoundingMode()メソッドを使わずに私を助けますか?SetRoundingMode()を使用せずに浮動小数点値を切り捨てます。
String pattern = "##,##0.00";
NumberFormat nf = NumberFormat.getNumberInstance();
DecimalFormat df = (DecimalFormat)nf;
double fPart;
Float value=233.989f;
String dstr = String.valueOf(value);
dstr = dstr.substring(dstr.indexOf(".")+1);
Long db = Long.valueOf(dstr);
if(db > 0){
df.applyPattern(pattern);
System.out.println("input="+value+", fPart="+dstr);
}
String output = df.format(value);
System.out.println(output);
、ない正規表現のために働く小数点区切り文字です。 – unbeli