+ Start a Discussion

How to Removing Trailing Zeros in outputField

I am trying to round the decimal places that are being displayed in an outputField to remove trailing zeros. The custom field that I am trying to display is set to be a number with 7 decimal places. There are cases though where not all 7 decimal places will be used, so I want to strip away trailing zeros.

Example: If I had 10.0001000 I want it to display as 10.0001 on my Visualforce page.


I tried doing something like this:


<apex:outputField value="{0}">
   <apex:param value="{!ROUND(customField__c, number)}" />

 This returned an error value for <apex:outputField> is not a dynamic binding!


If I change it to an outputText it works, but I need this field to be based on user locale which is why I was using an outputField.


Thanks in advance!

Geetha ReddyGeetha Reddy



Try this .

<apex:outputText value="{0, number, ###,###,###,##0.00}"> <apex:param value="{!a.customField__c}"/>



Let me know if any issues.


Thanks I ended up using something like this to format my field based on the user locale because the outputText rounds of trailing zeros.


<apex:outputText value="{!SUBSTITUTE(TEXT(customField__c), '.', ',')}"/>


I tried to do something similar to this for the inputText field

<apex:inputText value="{!SUBSTITUTE(TEXT(customField__c), '.', ',')}"/>

 but I get a syntax error.


Is it possible to format data inside of an inputText field?


U JayU Jay
<apex:inputText value="{!SUBSTITUTE(TEXT(a.customField__c), '.', ',')}"/> works .
U JayU Jay
I have another issue :)
<apex:outputText value="{!SUBSTITUTE(TEXT(additionalCost.List_Price__c)+'0','.',',')}"
Here removed trailing zeroes automatically, when converted to text.
Can i maintain it within the page itself??