Форматирование чисел в Apex: подробное руководство

В Apex, языке программирования, используемом при разработке Salesforce, форматирование чисел является общим требованием. Если вам нужно отображать значения валют, проценты или просто форматировать числа с помощью запятых, Apex предоставляет несколько методов, которые помогут вам добиться желаемого форматирования. В этой статье мы рассмотрим различные методы с примерами кода для форматирования чисел в Apex.

Метод 1. Использование метода format():
Метод format() — мощный инструмент для форматирования чисел в Apex. Он позволяет указать шаблон, используя комбинацию специальных символов и заполнителей.

Decimal number = 12345.6789;
String formattedNumber = number.format('#,##0.00');
System.debug(formattedNumber);  // Output: 12,345.68

Метод 2. Использование метода format() для форматирования валюты.
Если вам нужно отформатировать числа как значения денежных единиц, вы можете использовать метод format() с шаблоном валюты.

Decimal currencyValue = 9876.54;
String formattedCurrency = currencyValue.format('¤###,##0.00');
System.debug(formattedCurrency);  // Output: $9,876.54

Метод 3. Использование метода format() для процентного форматирования.
Чтобы отформатировать числа в процентах, вы можете использовать метод format() с процентным шаблоном.

Decimal percentageValue = 0.75;
String formattedPercentage = percentageValue.format('0.##%');
System.debug(formattedPercentage);  // Output: 75%

Метод 4. Использование метода format() с отрицательными числами.
Вы можете обрабатывать отрицательные числа, указав шаблон для отрицательных значений.

Decimal negativeNumber = -1234.56;
String formattedNegativeNumber = negativeNumber.format('#,##0.00;(#,##0.00)');
System.debug(formattedNegativeNumber);  // Output: (1,234.56)

Метод 5. Использование метода setScale():
Метод setScale() позволяет контролировать количество десятичных знаков в числе.

Decimal number = 12345.6789;
Decimal scaledNumber = number.setScale(2);
System.debug(scaledNumber);  // Output: 12345.68

Метод 6. Использование метода format() для научной записи:
Если вам нужно отформатировать числа в экспоненциальной записи, вы можете использовать метод format() с соответствующим шаблоном.

Decimal scientificNumber = 12345.6789;
String formattedScientificNumber = scientificNumber.format('0.##E+0');
System.debug(formattedScientificNumber);  // Output: 1.23E+4

Форматирование чисел — обычная задача при разработке Apex, и Salesforce предоставляет различные методы для ее выполнения. В этой статье мы рассмотрели несколько методов, в том числе использование метода format() для общего форматирования, форматирования валюты и форматирования в процентах. Мы также обсудили обработку отрицательных чисел, управление десятичными знаками с помощью метода setScale() и форматирование чисел в экспоненциальной записи. Используя эти методы, вы можете легко форматировать числа в Apex в соответствии с вашими требованиями.