Java:将十进制数转换为String

时间:2013-09-26 17:18:44

标签: java string decimal

我有一个带小数点后2位的数字:

x = 12.10

现在,我想把它写成String

String string = x.toString(); 

我的输出是:12.1

我如何获得12.10

3 个答案:

答案 0 :(得分:2)

使用DecimalFormat

String formattedNumber = new DecimalFormat("0.00").format(x);

答案 1 :(得分:0)

您可以使用String.format()

float x = 12.10;
String myNumStr = String.format("%.2", x);

答案 2 :(得分:0)

使用BigDecimal

public class ConvertNumber {
    public static void main(String[] args) {
        System.out.println(ConvertNumber.convertFloatDecimalToString(12.10f));
        System.out.println(ConvertNumber.convertStringDecimalToString("12.10"));
    }

    /**
     * Convertion for float value
     * 
     * @param number
     * @return
     */
    private static String convertFloatDecimalToString(float number) {
        return new BigDecimal(number).setScale(2, RoundingMode.HALF_DOWN)
                .toString();
    }

    /**
     * Convertion for String
     * 
     * @param number
     * @return
     */
    private static String convertStringDecimalToString(String number) {
        return new BigDecimal(number).setScale(2, RoundingMode.HALF_DOWN)
                .toString();
    }
}