---
schema_version: "1"
id: 5e8d60876bd122105c96bacbbb297f6ff10330c0d51bc3677479e14fde5f6aa9
title: FormatCurrency()
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/ampscript/references/utilities/mc-ampscript-reference-utilities-formatCurrency.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-utilities/mc-ampscript-reference-utilities-formatCurrency.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: d2dc83150e3c6a8f0b666eab13ffd24b7f89ad30320463fbcd3ab830f8b8e7b6
products:
  - AMPscript for Marketing Cloud
  - Marketing Cloud
---
# FormatCurrency()

Formats a number as a currency value.

## Availability

<table>
  <tr>
    <td>Marketing Cloud Engagement</td>
    <td>✅ Yes</td>
  </tr>
  <tr>
    <td>Marketing Cloud Next</td>
    <td>✅ Yes</td>
  </tr>
</table>

This function became available in Marketing Cloud Next during the Summer ’26 release (API version 67.0).

## Syntax

```
FormatCurrency(number,
               cultureCode,
               decimalPlaces,
               currencySymbol)
```

The `FormatCurrency()` function has four parameters:

- `number` (string or number): Required. The number that you want to format. This function assumes that the input number uses a period or full stop (.) as a decimal separator. If you input the number as a string, the function assumes that commas are used as thousands separators.
- `cultureCode` (string): Required. The locale code to use when formatting the number. Locale codes can use POSIX format (such as `es_MX`) or BCP 47 format (such as `es-MX`). When you provide this value, the resulting number is formatted using patterns that suit the specified locale.
- `decimalPlaces` (number): The number of decimal places to include in the result. If you don't provide a value, the resulting number has two decimal places. If you’re specifying a value for the `currencySymbol` parameter, then this parameter is required.
- `currencySymbol` (string): The currency symbol to use with the value. If you provide a value for this parameter, it overrides the default currency symbol for the specified locale.

## Usage

To use the function, pass it a number to format, and culture code that you want to use to format it. This example converts a number to a currency value that is formatted based on the United Kingdom locale (`en_GB`).

`%%=FormatCurrency(1234.555,"en_GB")=%%`

The function returns `£1,234.56`.

### Rounding or Adding Precision

The function can output a currency value that is rounded to a certain decimal place, or that adds precision to the currency value.

This example rounds the input number to the nearest whole number.

```
%%=FormatCurrency(1234.555, "de_CH", 0)=%%
```

The example outputs `CHF 1'235`.

In some currencies, decimal divisions aren’t commonly used. For example, in Japan, the smallest unit of currency in current use is ¥1, and fractional divisions of the yen are uncommon. For this reason, the `FormatCurrency()` function rounds to the nearest yen by default. However, you can force the function to output a currency value by specifying a value for the third parameter, as in this example.

```
%%=FormatCurrency(1234.555, "ja_JP", 2)=%%
```

The example outputs `¥1,234.56`.

### Using Alternative Currency Symbols

You can force the function to output a currency value that uses a specific currency symbol. For example, many currencies use the dollar sign (\$). You can use this feature to add information that helps the reader determine which currency you’re referring to. When you specify a currency symbol, you must also specify the number of decimal places to include in the output. This example replaces the default currency symbol for the Mexican peso (`$`) with an alternative (`Mex$`) that makes it easier to identify the currency being used.

```
%%=FormatCurrency(1234.555, "es_MX", 2, "Mex$")=%%
```

The example outputs `Mex$1,234.56`.

### Sample Outputs

This table shows the results of formatting a number (1234.555) as a currency value using several different locale settings.

| Locale                          | Function                                  | Output               |
| ------------------------------- | ----------------------------------------- | -------------------- |
| China                           | `%%=FormatCurrency(1234.555,"zh_CN")=%%`  | `¥1,234.56`          |
| India                           | `%%=FormatCurrency(1234.555,"hi_IN")=%%`  | `₹1,234.56`          |
| United States                   | `%%=FormatCurrency(1234.555,"en_US")=%%`  | `$1,234.56`          |
| Indonesia                       | `%%=FormatCurrency(1234.555,"id_ID")=%%`  | `Rp1.235`            |
| Pakistan                        | `%%=FormatCurrency(1234.555,"ur_PK")=%%`  | `Rs 1,234.56`        |
| Nigeria                         | `%%=FormatCurrency(1234.555,"en_NG")=%%`  | `₦1,234.56`          |
| Brazil                          | `%%=FormatCurrency(1234.555,"pt_BR")=%%`  | `R$ 1.234,56`        |
| Japan                           | `%%=FormatCurrency(1234.555,"ja_JP")=%%`  | `¥1,235`             |
| Germany                         | `%%=FormatCurrency(1234.555,"de_DE")=%%`  | `1.234,56 €`         |
| France                          | `%%=FormatCurrency(1234.555,"fr_FR")=%%`  | `1 234,56 €`         |
| Canada (French-speaking areas)  | `%%=FormatCurrency(1234.555,"fr_CA")=%%`  | `1 234,56 $`         |
| Canada (English-speaking areas) | `%%=FormatCurrency(1234.555,"en_CA")=%%`  | `$1,234.56`          |
| Türkiye                         | `%%=FormatCurrency(1234.555,"tr_TR")=%%`  | `₺1.234,56`          |
| Ukraine                         | `%%=FormatCurrency(1234.555,"uk_UA")=%%`  | `1 234,56 ₴`         |
| South Korea                     | `%%=FormatCurrency(1234.555,"ko_KR")=%%`  | `₩1,235`             |
| United Arab Emirates            | `%%=FormatCurrency(1234.555,"ar_AE")=%%`  | `1,234.56 د.إ.`&rlm; |
| Philippines                     | `%%=FormatCurrency(1234.555,"fil_PH")=%%` | `₱1,234.56`          |
| Sweden                          | `%%=FormatCurrency(1234.555,"sv_SE")=%%`  | `1 234,56 kr`        |
| Israel                          | `%%=FormatCurrency(1234.555,"he_IL")=%%`  | `₪ 1,234.56`         |
| Saudi Arabia                    | `%%=FormatCurrency(1234.555,"ar_SA")=%%`  | `1,234.56 ر.س.`&rlm; |

## See Also

- [BCP 47 RFC](https://www.ietf.org/rfc/bcp/bcp47.txt) on IETF.org
- [Locale specification](https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html) on OpenGroup.org (for information about POSIX locales)
