Samuel Benares
Samuel Benares

Reputation: 59

Java: transform decimal number to String

I have a number with 2 decimal places:

x = 12.10

Now, I want to write it as String:

String string = x.toString(); 

My output is: 12.1

How can I get 12.10?

Upvotes: 0

Views: 267

Answers (3)

bNd
bNd

Reputation: 7640

Use 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();
    }
}

Upvotes: 0

Bucket
Bucket

Reputation: 7521

You can use String.format() for this.

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

Upvotes: 0

Reimeus
Reimeus

Reputation: 159874

Use DecimalFormat

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

Upvotes: 2

Related Questions