The @
symbol is used to define the following text as a variable name in AMPscript.
It sounds like Amount
is inside of your sendable DE, so you would not need the @
symbol. Also since it is inline, you do not need the %%
.
You also have a v() wrapper, but no closing parenthesis on the end, which is throwing a syntax error. This v() wrapper is actually not needed either. This is more for displaying ampscript variable values, etc.
Here are a couple ways I would try this:
%%=FormatNumber(Amount,"#,###")=%%
- but this will throw an error if the sendable data does not have a field named 'Amount'
%%=FormatNumber(AttributeValue("Amount"),"#,###")=%%
- will provide empty result instead of error on no field existing.
Or a more comprehensive approach to handle empty values:
%%[ SET @Amount = AttributeValue("Amount")
IF NOT EMPTY(@Amount) THEN
SET @FormatAmount = FormatNumber(@Amount,"#,###")
ELSE
RaiseError('No Amount Defined')
ENDIF
]%%
%%=v(@FormatAmount)=%%