Hello Komala,
Based of the answer of Serpent CS, you can also create a new char field (fields.function), which will store the formatted value based on the original one. With this, you could use your original field in the form view, and only display the new computed field in your list.
The solution of Serpent CS (using the context to customize the value returned by read() ) is a bit simple than mine to implement, but i prefer not to override the read() method for each customization (this is more difficult to maintain and less optimized than a dedicated field) ^^
Finally, it is easier to define the groups access when 2 different fields are defined (one for users having 'full' access to sensitve data, the other for 'restricted' access users).
For this function field, you can make it with the parameter store to True (as the original value is on the same model), and use the method posted by Serpent CS to compute the value. For example :
'new_field': fields.function(_get_formatted_account, type='char', method=True, store=True) # get_formatted_account is the method to define with the code of Serpent CS
# for optimiaztion: store={'your.model.name': (lambda self, cr, uid, ids, ctx: ids, ['your_account_field'], 10)}
Hope it helps you,
Regards