SalesforceでDecimalデータをドル形式に変換

1720 ワード

余談はさておき、直接コード(Apex Classの方法):
    private string ConvertToMoneyFormat(decimal price){
        if (price == null || Math.abs(price) < 0.005) return '$0.00';
        String s = (price.setScale(2) + (price >= 0 ? 0.001 : -0.001)).format();
        return '$' + s.substring(0, s.length() - 1);
    }

基本的な結果は次のとおりです.
11 ----> $11.00
1111 --->  $1,111.00
1111.1 --->  $1,111.10
1111.111 --->  $1,111.11
 
ページのコントロールにドルで表示されている場合は、次の方法があります.
<apex:outputText value="{0, number, currency}">
    <apex:param value="{!EricSunCreditLimit}"/>
</apex:outputText>

 
あるいは、数値に対してより複雑な操作を行います.
<apex:outputText value="{0, number, ##}%" >
    <apex:param value="{!IF(EricSunCreditLimit>99 && EricSunCreditLimit<100 ,99,EricSunCreditLimit)}"/>
</apex:outputText>

 
もう一つ:
<apex:outputText value="{!'{0, number,###,###,##0.0}K'}">
    <apex:param value="{!ROUND(EricSunCreditLimit/1000,1)}"/>
</apex:outputText>

 
詳細については、次のリンクを参照してください.
http://salesforce.stackexchange.com/questions/318/what-is-a-concise-function-that-formats-a-string-decimal-into-a-currency-forma