Apex:OutputText to Currency Format from String Wrapper

The problem was you misspelled currency. This works fine and avoids hard coding the currency symbol:

<apex:outputText value="{0, Number, Currency}">


From my comment:

<apex:outputText value="${0, number, ###,###,##0.00}"> works as well. The hashes display numbers in that position if they exist. So it will display $3.14 instead of $000,003.14 as in the example using ${0, number, 000,000.00}


You need to use <apex param> along with <apex:outputText> by specifying the proper parameters for it to be output in. Here's an example from the VF Developer's Guide:

<!-- For this example to render properly, you must associate the Visualforce page
with a valid account record in the URL.
For example, if 001D000000IeChM is the account ID, the resulting URL should be:
https://Salesforce_instance/apex/myPage?id=001D000000IeChM
See the Visualforce Developer's Guide Quick Start Tutorial for more information. -->

<apex:page standardController="Account">
It is worth:
<apex:outputText value="{0, number, 000,000.00}">
<apex:param value="{!Account.AnnualRevenue}" />
</apex:outputText>
</apex:page>

This would render as

It is worth: 500,000,000.00

Were I doing this, I'd be adding the currency symbol in with the outputText value as below:

<apex:outputText value="$&nbsp{0, number, 000,000.00}">

This would render as

It is worth: $500,000,000.00