float не отображает правильный формат. ищу xxxxxx.xx

1
float fRealEsate = 360000.00 * 0.04;
 Toast.makeText(v.getContext(), "Real Estate Brokerage Fee: " 
                     + fRealEsate, Toast.LENGTH_SHORT).show();

Мне нужно отображать 15600.00, но его отображение 15600.0

  • 2
    Вы не должны использовать float для денег. деньги с фиксированной запятой, а не с плавающей запятой. рассмотрите возможность хранения долларов и центов в виде целочисленных значений.
Теги:
floating-point

3 ответа

1
Лучший ответ

Используйте NumberFormat.

String sRealEstate = NumberFormat.getCurrencyInstance().format(fRealEstate);

И используйте форматированную версию строки в вашем тосте, а не в float.

0
float f = 123456.123456f;
NumberFormat nf = new DecimalFormat(".00");
System.out.println(nf.format(f));//123456.12
0

Читайте дальше:

http://download.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню