There's nothing to it, you just need to cast the double to a decimal, here's how:
double qty = 2;
double rate = 3;
double result = qty * rate;
decimal decResult = (decimal)result ;
string formattedWithTwoDigitsAfterDot = decResult.ToString("#.##");
Console.WriteLine("The Decimal result is: " + formattedWithTwoDigitsAfterDot );
[Update - Added Examples /]
See examples on formatting a double ToString from MSDN:
double value;
value = 123;
Console.WriteLine(value.ToString("00000"));
value = 1.2;
Console.WriteLine(value.ToString("0.00", CultureInfo.InvariantCulture));
Console.WriteLine(value.ToString("00.00", CultureInfo.InvariantCulture));
Console.WriteLine(value.ToString("00.00",
CultureInfo.CreateSpecificCulture("da-DK")));
value = .56;
Console.WriteLine(value.ToString("0.0", CultureInfo.InvariantCulture));
value = 1234567890;
Console.WriteLine(value.ToString("0,0", CultureInfo.InvariantCulture));
Console.WriteLine(value.ToString("0,0",
CultureInfo.CreateSpecificCulture("el-GR")));
value = 1234567890.123456;
Console.WriteLine(value.ToString("0,0.0", CultureInfo.InvariantCulture));
value = 1234.567890;
Console.WriteLine(value.ToString("0,0.00", CultureInfo.InvariantCulture));
Cheers,
Edo