Doubt in the use of the to_string function

-1

In an exercise I'm doing, it was proposed to read two numbers, one integer and one real, and count how many digits they have.

The input and output should look like this:

Entre com o numero inteiro: 2345

Entre com o numero real: 234.549

O numero inteiro possui 4 dígitos.

O numero real possui 6 dígitos.

I'm using this code to solve the problem:

//Entrada de numeros

cout << "Entre com o numero inteiro: ";
cin >> NumInt;
cout << "Entre com o numero real: ";
cin >> NumReal;
//Conversao para string
NumString = to_string(NumReal);

//Contador de digitos
while (NumString[i++] != '
Entre com o numero inteiro: 1234

Entre com o numero real: 765.34

Numero lido: 765.340027

Possui 10 digitos.

Pressione qualquer tecla para continuar. . .
'); //Impressao do numero cout << endl; cout << "Numero lido: " << NumString << endl; cout << "Possui " << i - 1 << " digitos." << endl;

The output is this:

Entre com o numero inteiro: 2345

Entre com o numero real: 234.549

O numero inteiro possui 4 dígitos.

O numero real possui 6 dígitos.

The actual number is being read with extra digits. Could you help me?

    
asked by anonymous 01.07.2018 / 19:53

1 answer

0

Increase the precision of NumReal by overriding your type of:

float NumReal;

To:

double NumReal;
    
02.07.2018 / 19:57