Implement currency formatting

- [x] Implementation
- [x] Tests
- [x] Doc

Fix #238 
`fn` is a bad variable name. Even after reading the usage below, I still don't know what it means.