edi233
edi233

Reputation: 3031

replace (,) in place of (.) in textview in android

I am using this code to add two number after (. in my number. For example: I have string 14.3, so I want to get 14.30, when get 14 I want to get 14.00. This is code:

NumberFormat format = NumberFormat.getNumberInstance();
format.setMinimumFractionDigits(2);
format.setMaximumFractionDigits(2);
tvPrice.setText(addDolar(format.format(Double.parseDouble(alerts.getPrice()))));

private String addDolar(String amount) {
    if(amount.startsWith("-")) {
         return "-$ "+amount.substring(1, amount.length());
    }
    else
        return "$ "+amount;
}

problem is that I want to get '.' and now i get ','.

Upvotes: 0

Views: 88

Answers (4)

Solenya
Solenya

Reputation: 694

You can replace it:

someDouble.toString().replace(",", "."))

Upvotes: 2

user3301551
user3301551

Reputation: 350

Try following

NumberFormat format = NumberFormat.getNumberInstance();
format.setMinimumFractionDigits(2);
format.setMaximumFractionDigits(2);
tvPrice.setText(addDolar(format.format(Double.parseDouble(alerts.getPrice()))));

private String addDolar(String amount) 
{
    amount = amount.replace ( ",","." );                       // Add this line
    if(amount.startsWith("-")) 
    {
         return "-$ "+amount.substring(1, amount.length());
    }
    else
        return "$ "+amount;
}

Upvotes: 0

Mehul Ranpara
Mehul Ranpara

Reputation: 4255

Use this function :

public double round(double unrounded)
{
      BigDecimal bd = new BigDecimal(unrounded);
      BigDecimal rounded = bd.setScale(2, BigDecimal.ROUND_HALF_UP);

      return rounded.doubleValue();
}

Upvotes: 0

Linga
Linga

Reputation: 10573

If you want to add two precisions only, then try this code

DecimalFormat format = new DecimalFormat("##.##");
String formatted = format.format(your_value);
editText.setText(formatted);

Upvotes: 0

Related Questions