Ricapitolo un attimo: devi arrotondare, la funzione è Math.Round
http://msdn.microsoft.com/it-it/libr...ath.round.aspx
che vuole un decimal o un double. Stai lavorando con dei single (float), perciò io farei tutti i calcoli del caso e alla Math.Round passere il tuo numero castato a da single a double. Questo casting dovrebbe essere "safe" senza farti perdere dati:
http://msdn.microsoft.com/it-it/library/k1e94s7e.aspx
Se non erro in C# il DirectCast è (tipo) quindi,
HTH, tKcodice:risultato = Math.Round((double)tuoValoreSingle,2)