@ 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,"#,###")
RaiseError('No Amount Defined')