No estoy de acuerdo con ACC69. Efectivamente, debería salirte 5.811, sin embargo puedes probar con round(x,4) a ver que te sale. Si sólo necesitas 3 decimales puedes probar a pasar la cifra a string con str(round(x,4) ,12,3) o algo similar.
Un saludo.