The SF and data domains offer little possibilities to control the presentation of numbers. I thought the custom_display_format extenders would be the solution but I found some shortcomings that make them less useable in practice. I discussed this with Thinkwise people: The current behaviour is as intended but they think the following would be a good improvement.
Simple example for a currency datatype NUMERIC(18,3) where users normally want to see only 2 decimals but the extra decimal is needed for calculation accuracy. By using an extender with "€ 0.00" format for the domain you get the following behaviour
Positive:
- Display with 2 decimals is correct and third decimal is used for rounding up/down correctly
- An entered number with 3 decimals is correctly stored in the underlying table
Negative:
- When EDITING data there is no way to see the third stored decimal
- When EDITING it is not possible to edit the existing number; you have to clear the field and reenter the complete number
The behaviour is the same in grid and form screens.
We would expect behaviour like e.g. Excel:
- Display data using the Extender. They are called custom_display_format for a reason I think.
- Possibility to edit the exact stored data
Without this behaviour the introduction of the extender seems of little use; the same could be achieved using an expressions field. But a task would be required to edit data and this is what we want to prevent.
An extra improvement would be if the scope of the extender could be specified on a lower level than a domain. Then you would get the possibility to present and edit the same table field in multiple ways; the exact data for the finance department and in another screen rounded numbers for sales but still the possibility to edit the exact number.