Round the value to the desired precision, and then format it. Always prefer the version of Math.Round containing the mid-point rounding param. This param specify how to handle mid-point values (5) as last digit.
If you don't specify AwayFromZero as the value for param, you'll get the default behaviour, which is ToEven.
For example, using ToEven as rounding method, you get:
Math.Round(2.025,2)==2.02
and
Math.Round(2.035,2)==2.04
instead, using MidPoint.AwayFromZero param:
Math.Round(2.025,2,MidpointRounding.AwayFromZero)==2.03
and
Math.Round(2.035,2,MidpointRounding.AwayFromZero)==2.04
So, for a normal rounding, it's best to use this code:
var value=2.346;
var result = Math.Round(value, 2, MidpointRounding.AwayFromZero);
var str=String.Format("{0:0.00}", result );