Rounding scientific notation

Hi Friends,

I have following 50,000 records in .txt file.
I need to round field 3, 4, & 5 to 3 decimal places.

11|A123|-2.64216408856E01|3.64216408856E01|4.64216408856E-01
11|A123|0|-5.64216408856E01|0
11|A123|0|0|0
11|A123|-99999999|-99999999|-99999999
11|A123|6.64216408856E01|7.64216408856E01|8.64216408856E-01

Can you please provide some suggestion?

Thanks for your help in advance,
Prashant

use awk and printf option

awk -F"|"  '{printf "%s|%s|%.3f|%.3f|%.3f",$1,$2,$3,$4,$5}'  filename

Thank you very much for your reply.
It works but it prints everyting in one line.

Thanks,
Prashant

awk -F"|" '{printf "%s|%s|%.3f|%.3f|%.3f\n",$1,$2,$3,$4,$5}' filename

I got it. I should have tried different option.

awk -F"|" '{printf "%s|%s|%.3f|%.3f|%.3f\n",$1,$2,$3,$4,$5}' filename

Thanks,
Prashant