En lugar de dos floats, usa uno sólo.
Código CSS:
Ver original.izq{
float:left;
}
.der{
float:left;
margin-left:xpx;
}
Si requieres que haya una distancia entre ellos puedes usar margin-left o right, según convenga, en este caso un 5%
(100 - (48+47))
Y así de simple.
échale un vistazo.
http://jsfiddle.net/TYAxW/
Un saludo.
edito: haz lo que te han dicho arriba.