Как из дробного числа получить целое
Перейти к содержимому

Как из дробного числа получить целое

  • автор:

Как сделать из десятичной дроби соответствующее целое число?

Мне дали задание найти разницу между сумами целой и дробной части действительного числа. Я смог с помощью оператора mod.f разделить число на целую и дробную часть. Для нахождения суммы использую следующий цикл:

a1: if (k != 0) < g = k % 10; f = g + f; k = k / 10; goto a1; >

С целой частью я справился, но для дробной части это не подходит по понятным причинам. Ну и вот суть проблемы: как мне превратить десятичную дробь в целое число без 0. ?

Отслеживать
Manukafool
задан 1 апр 2021 в 9:35
Manukafool Manukafool
37 6 6 бронзовых знаков

А из 0.7500000000000000000001 что надо получить? 7500000000000000000001? Тогда читайте число как строку, убирайте точку и ведущие нули.

Как из дробной части числа сделать целое число?

Author24 — интернет-сервис помощи студентам

Здравствуйте!
Вопрос такой : как из дробной части числа сделать целое число?
Например из doble x = 3.325 получить число i=325.
Как это сделать, если вводится неизвестное число?

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

программа выводит целое число без дробной части, почему ?
программа выводит целое число без дробной части, почему ? void Cmy1Dlg::OnBnClickedButton1().

Как из числа типа double сделать int (сохранение целой и дробной части в отдельных целочисленных переменных)
Например есть число double d = 123.4567 Как сделать что бы int i1 = 123; int i2 =4567;

Преобразование целочисленного представления дробной части числа в действительное число
Как сделать вывод 0 в другой часте числа? Число складывается с 2-х: целое и вещественное, первое.

Вводим целое — получаем первую цифру дробной части
Написать программу, которая вводит целое шестизначное число и выводит первую цифру дробной части.

214 / 210 / 146
Регистрация: 20.11.2014
Сообщений: 1,161

Лучший ответ

Сообщение было отмечено Dimas64 как решение

Решение

удалять все что идет до точки и саму точку

1 2 3
string i = "65.25635"; string o = i.Substring(i.IndexOf('.')+1); Console.WriteLine(o);

только сначала double в string преобразуйте

Эксперт .NET

17689 / 12874 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138

ЦитатаСообщение от Dimas64 Посмотреть сообщение

как из дробной части числа сделать целое число?

Число можно умножать на десять до тех пор, пока десятичная часть не станет нулем.
Но тут сразу возникает несколько проблем:
1. Если вещественное число представлено типом float или double, то при арифметических операциях будет накапливаться ошибка. Издержки стандарта. Так что вместо 325 можно получить 3249999999999998. Частично исправляется использованием типа decimal, но у него точность тоже ограничена.
2. Как целому числу слева можно приписывать неограниченное количество нулей, не меняя его значения (25 = 025 = 00000025), так и числу с десятичной частью можно приписывать неограниченное число нулей справа, не меняя его значения: 0.325 = 0.3250 = 0.3250000. И сразу возникает вопрос: до какого нуля брать десятичную часть? 0.325 — это 325 или 3250000000?
3. Из второго пункта следует, что все-таки придется определить какое-то конечное количество нулей справа, до которого надо перемножать десятичную часть для получения целой. Если этого не сделать и умножать просто до тех пор, пока десятичная часть не станет нулем, то можно прийти к ситуации, когда 0.325 = 325, а 0.42 = 42, хотя второе число изначально больше первого. Если планируется проводить эту операцию над несколькими числами, после чего их как-то сравнивать, то результат может быть немного непредсказуем.

Math.trunc()

Функция Math.trunc() возвращает целую часть числа путём удаления всех дробных знаков.

Интерактивный пример

Синтаксис

Math.trunc(x)

Параметры

Возвращаемое значение

Целая часть данного числа.

Описание

В отличие от других трёх методов объекта Math — Math.floor() , Math.ceil() и Math.round() — метод Math.trunc() работает очень просто. Отбрасывается запятая и все цифры после неё, не обращая внимания на знак аргумента.

Аргумент, переданный в этот метод, будет неявно преобразован в число.

Поскольку trunc() является статическим методом объекта Math , вы всегда должны использовать его как Math.trunc() , а не пытаться вызывать метод на созданном экземпляре объекта Math ( Math не является конструктором).

Примеры

Использование Math.trunc()

.trunc(13.37); // 13 Math.trunc(42.84); // 42 Math.trunc(0.123); // 0 Math.trunc(-0.123); // -0 Math.trunc("-1.123"); // -1 Math.trunc(NaN); // NaN Math.trunc("foo"); // NaN Math.trunc(); // NaN 

Полифил

if (!Math.trunc)  Math.trunc = function (v)  v = +v; if (!isFinite(v)) return v; return v - (v % 1) || (v  0 ? -0 : v === 0 ? v : 0); // returns: // 0 -> 0 // -0 -> -0 // 0.2 -> 0 // -0.2 -> -0 // 0.7 -> 0 // -0.7 -> -0 // Infinity -> Infinity // -Infinity -> -Infinity // NaN -> NaN // null -> 0 >; > 
if (!Math.trunc)  Math.trunc = function (v)  v = +v; return v - (v % 1) || (!isFinite(v) || v === 0 ? v : v  0 ? -0 : 0); >; > 

Спецификации

Specification
ECMAScript Language Specification
# sec-math.trunc

Совместимость с браузерами

BCD tables only load in the browser

Конвертация дробного числа в целое в JavaScript

Баннер Баннер

Одна из распространённых задач, которую часто встречают начинающие программисты в JavaScript, это конвертация дробного числа в целое. При этом нужно учесть два основных способа преобразования: округление и отбрасывание дробной части.

Рассмотрим пример. Допустим, есть дробное число 10.75. Цель — преобразовать это число в целое двумя способами: путём округления и путём отбрасывания дробной части.

Округление

Одним из способов преобразования дробного числа в целое является округление. В JavaScript для этого используется встроенная функция Math.round() . Эта функция возвращает ближайшее целое число, округляя вверх или вниз.

Пример кода для округления числа 10.75:

var num = 10.75; var roundNum = Math.round(num); console.log(roundNum); // Выводит: 11

В этом примере число 10.75 округляется до ближайшего целого числа, что в данном случае является числом 11.

Отбрасывание дробной части

Другим способом преобразования дробного числа в целое является отбрасывание дробной части. В JavaScript для этого можно использовать встроенную функцию Math.floor() . Эта функция возвращает наибольшее целое число, меньшее, либо равное указанному числу.

Пример кода для отбрасывания дробной части числа 10.75:

var num = 10.75; var floorNum = Math.floor(num); console.log(floorNum); // Выводит: 10

В этом примере дробная часть числа 10.75 отбрасывается, и результатом является число 10.

Таким образом, в JavaScript есть удобные встроенные функции для преобразования дробного числа в целое двумя разными способами: путём округления и путём отбрасывания дробной части.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *