0

私はJavaのダブルスをたくさん持っています。GUI に正しく表示するには、マイナス記号とピリオドを含めて 7 文字にする必要があります。

それでは、次のようにしましょう。

12345.7890
1.34567890
-23.567890

私が欲しい

12345.7
1.34567
-23.567

また、まれに小数点以下 7 文字を超える場合がありますが、小数点以下 1 桁を維持します。適切に丸めることをお勧めします。

私は、これを効率的に行うための Java のすべての string/double 操作に精通しているわけではありません。

4

3 に答える 3

4

試す

    double d = -23.5678900;
    int precision = d < 0 ? 5 : 6;
    BigDecimal bd = new BigDecimal(d, new MathContext(precision));

また、丸めを提供します。オーバーフローのチェックを追加するのは理にかなっているかもしれません

    if (d > 9999999 | d < -999999) {
        System.out.println("#######");
    } 
于 2013-03-05T07:20:36.687 に答える
1

それを行う標準的な方法は、DecimalFormatを使用することです。

Double d = 12345.7890d;

NumberFormat decimalFormat = new DecimalFormat("-#####.##");

System.out.println(decimalFormat.format(d));
于 2013-03-05T08:32:12.007 に答える
1

表示のみを目的とする場合は、このアプローチを使用してください...

 Double d = -1.151266662625;
    String str = d.toString();
    String result = Str.substring(0,7);

if(result.contains("."){
// it is according to your need
}else{
// iF dot is not present do what ever you want to do. Either again truncte the string upto 5 place and add ".0" in end of the string

}
于 2013-03-05T07:25:15.933 に答える