Вопрос

У меня есть двойник, стоимость которого равна 10 000 000,00 (десять миллионов).Я должен преобразовать его в String.При использовании метода toString Я начинаю понимать String "1.0E7", что соответствует спецификации.К сожалению мне нужна в String "10,000,000.00" (или эквивалент в зависимости от региона).

Как можно этого добиться?

Это было полезно?

Решение

Попробуйте либо то, либо другое

Числовой формат http://java.sun.com/javase/6/docs/api/java/text/NumberFormat.html

Десятичный формат http://java.sun.com/javase/6/docs/api/java/text/DecimalFormat.html

Другие советы

В дополнение к программе форматирования вы могли бы рассмотреть возможность использования java.math.BigDecimal класс для точного представления чисел.

Расчеты, где требуется полная точность, например финансовые расчеты, лучше всего выполнять с помощью BigDecimal.Математика с плавающей запятой лучше подходит для инженерных, графических и других математических вычислений, где некоторой точностью можно пожертвовать ради скорости.

  public static void main(String[] args) throws ParseException {
    double aDouble = 10000000.00;
    DecimalFormat nf = (DecimalFormat) NumberFormat.getInstance(Locale.US);
    String aString = Double.toString(aDouble);
    System.out.println(nf.parse(aString));
  }

Загляните в "Десятичный формат".Это позволяет вам форматировать выходные данные практически так, как вы хотите!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top