Try this:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
double number;
char buffer[20];
int precval;
int count = 0;
bool counting = false;
int i = 0;
char *pEnd;
cout<<"number = ";
cin>>number;
cout<<"precision value = ";
cin>>precval;
sprintf(buffer,"%lf", number );
while( buffer != '\0' )
{
if( buffer == '.' )
counting = true;
if( counting )
count++;
if( count == precval + 1 )
break;
i++;
}
buffer[i+1] = '\0';
number = strtod( buffer, &pEnd );
cout<<"number' = "<<number;
}