I’m trying to create an aggregation for my open graph action using the number layout. It needs to have two decimal places. My object, ‘location’, has property ‘rtw’ of type Float.
In the create aggregation screen in the number field I have {location.rtw | currency} which should format the float to 2 decimal places according to this document: https://developers.facebook.com/docs/opengraph/template/
However it seems to round it instead of showing decimal places, so my float of 1.54 becomes 2.
Am I doing something wrong here?
The Open Graph offers a choice of Layout Styles for aggregations:
The Open Graph Layout Style called “Number” – the layout you have chosen – always display the aggregation in its headline as an integer. This is by default and can’t be changed. It appears to be an aesthetics-based choice on Facebook’s part.
The headline aggregation can be a sum, min or max value, but even if the individual values are of type float the aggregation will be of type integer.
See this screenshot example, taken from the Layout style section of the Define Aggregations page on Facebook Developer. The sub-items that can be displayed as part of your aggregation display float values but the Headline number displays an integer:
Here, the total distance run 82.42 (45.06 + 25.56 + 11.8) is converted to the integer 82 in the headline sum, although each individual distance run is a float.
Net, if a developer chooses the Number Layout Style, he has to make sure that the aggregation makes sense in integer form.
There is the option to add a caption line to the aggregation which can contain a float, e.g “ran 82.42 miles in 10 hours”.
The individual posts you make with your app can display a float in its headline. E.g. “just ran 25.56 miles in 3 hours”.
You can explore the other Open Graph Aggregation layout styles if it is important for you to display a float in the headline. For example, the Map Layout supposedly supports displaying a float in its headline (here displaying a max value):