When rendering a number, you want to pretty up the string coming from #to_s:
- Render 
0.0as0 - Sometimes require a minimum number of digits after the decimal separator
 - Change the decimal separator from 
.to,in some European countries - Render a dash if the given amount is 
nil 
The attached helper that does just that. Some usage examples with their resulting strings:
| Invocation | Result | 
|---|---|
amount(0) | 
0 | 
amount(0.0) | 
0 | 
amount(0.5) | 
0,5 | 
amount(1.5, :minimum_precision => 2) | 
1,50 | 
amount(1.543, :minimum_precision => 2) | 
1,543 | 
amount(1.5, :minimum_precision => 2, :separator => '.') | 
1.50 | 
amount(nil) | 
– | 
Rendering money amounts
If your amounts are Western hemisphere money amounts, you want some additional prettifications on top of that:
- Always use a minimum precision of 2
 - Render a currency symbol after the string
 
A second helper method in the attached file does just that. Some usage examples with their resulting strings:
| Invocation | Result | 
|---|---|
money_amount(0) | 
0,00 € | 
money_amount(0.0) | 
0,00 € | 
money_amount(0.5) | 
0,50 € | 
money_amount(1.543) | 
1,543 € | 
money_amount(0.5, :unit => '₣') | 
0,50 ₣ | 
money_amount(nil) | 
– | 
Posted by Henning Koch to makandra dev (2011-06-16 09:30)