0

Double を文字列に変換したい。また、小数点以下のみを表示します。

このように:

Double: 123.465
String: 46

Double: 1123.465
String: 46

Double: 123.46555987
String: 46

今、私の質問はどうすればそれを行うことができ、最善の方法は何ですか?

4

5 に答える 5

0

これはあなたを助けるはずです

public static int twoDecimal(double original)
{
    BigDecimal bd = new BigDecimal(original % 1);
    BigDecimal rounded = bd.setScale(2, BigDecimal.ROUND_DOWN);

    return (int) (rounded.doubleValue() * 100);
}
于 2013-03-18T12:01:13.950 に答える
0

必ずしも最も良い方法ではありませんが、機能します。123.456を任意の値に変更するだけで、メソッドに入れることができます。

public class Test {
    public static void main(String args[]) {
        double fractionalPart = 123.456 % 1;
        DecimalFormat twoDForm = new DecimalFormat("#.00");
        System.out.println(String.valueOf(
                Double.valueOf(twoDForm.format(fractionalPart))).substring(2));
    }
}
于 2013-03-18T11:53:53.193 に答える
0
Double: 123.465
String: 46

Double d = new Double(123.465);
String str = String.valueOf(d);
Sytem.out.println(str.substring(str.lastIndexOf("."),str.lastIndexOf(".")+2));
于 2013-03-18T11:59:20.500 に答える
0

これはうまくいくかもしれません:

Double d = 123.4567;
String stringRep = Double.toString(d).split(".")[1];
//Print or use stringRep
于 2013-03-18T11:56:17.133 に答える