Преобразуйте рациональные числа в целые числа

Как я могу преобразовать рациональные числа, такие как 1.24234 или же 45.314 в целые числа, такие как 124234 или же 45314 также получить количество десятичных цифр?

-1

Решение

Преобразовать в строку

Найти положение десятичной точки.

Вычтите это из длины вышеупомянутой строки, для числа десятичных знаков.

Затем возьмите точку из строки.

1

Другие решения

int i=0;
float a = 1.24234;

for(i; i<20; i++){
float b=pow(10,i);
if((a*b)%10==0)
break;
}
int c = pow(10,i-1);
int result = a*c;

Я думаю, что этот код поможет вам.

0

Если ваш номер W.D (Whole.Decimal)

Чтобы получить W, просто сделайте (int) W.D.
Чтобы получить D вы можете сделать W.D — (Int) W.D

Теперь у вас есть целое число и разделенная десятичная точка. Чтобы вычислить свой множитель х10 на вашем W, делите D на 10, пока не получите результат, который меньше 10.

Сейчас: WxN + D
(где N — это количество раз, которое вы поделили на 10)

Примечание: я не писал код в качестве примера, потому что чувствую, что это может быть домашнее задание. Кроме того, если вы используете очень длинные (т. Е. Точные числа с плавающей запятой), это не сработает, и может привести к переполнению. Проверьте свои границы, прежде чем реализовывать что-то подобное.

0
По вопросам рекламы [email protected]