mpf_t x;
mpf_init2(x,3000);
mpf_set_str(x,"0.6931471805599453094172321214581765680755001343602552541206800094933936219696947156058633269964186875",10);
char str[300];
mp_exp_t myexp;
mpf_get_str(str, &myexp, 10, 99, x); 
mpf_clear(x);
printf("%s\n",str);
The last digit should be '8', but mpf_get_str outputs '7'.