Целая часть от деления
Разделить дробное число на 2 части: целая часть числа и его дробная часть
Пользователь вводит с клавиатуры сумму в валюте (дробное число). Вывести по отдельности количество.
Целая часть double
Есть код: for(double i=0; i<=4; i+=0.2) ShowMessage(floor(i)); При i=2.0 выдает 1, почему?
целая часть float или double
Мне нужно выделить в отдельную переменную целую часть чисел типа float и double. Я пока делаю так.
Как взять целую часть от деления c
Для выполнения различных математических операций в библиотеке классов .NET предназначен класс Math . Он является статическим, поэтому все его методы также являются статическими.
Рассмотрим основные методы класса Math:
Abs(double value) : возвращает абсолютное значение для аргумента value
Acos(double value) : возвращает арккосинус value. Параметр value должен иметь значение от -1 до 1
Asin(double value) : возвращает арксинус value. Параметр value должен иметь значение от -1 до 1
Atan(double value) : возвращает арктангенс value
BigMul(int x, int y) : возвращает произведение x * y в виде объекта long
Ceiling(double value) : возвращает наименьшее целое число с плавающей точкой, которое не меньше value
Cos(double d) : возвращает косинус угла d
Cosh(double d) : возвращает гиперболический косинус угла d
DivRem(int a, int b, out int result) : возвращает результат от деления a/b, а остаток помещается в параметр result
Exp(double d) : возвращает основание натурального логарифма, возведенное в степень d
Floor(decimal d) : возвращает наибольшее целое число, которое не больше d
IEEERemainder(double a, double b) : возвращает остаток от деления a на b
Log(double d) : возвращает натуральный логарифм числа d
Log(double a, double newBase) : возвращает логарифм числа a по основанию newBase
Log10(double d) : возвращает десятичный логарифм числа d
Max(double a, double b) : возвращает максимальное число из a и b
Min(double a, double b) : возвращает минимальное число из a и b
Pow(double a, double b) : возвращает число a, возведенное в степень b
Round(double d) : возвращает число d, округленное до ближайшего целого числа
Round(double a, int b) : возвращает число a, округленное до определенного количества знаков после запятой, представленного параметром b
Sign(double value) : возвращает число 1, если число value положительное, и -1, если значение value отрицательное. Если value равно 0, то возвращает 0
Sin(double value) : возвращает синус угла value
Sinh(double value) : возвращает гиперболический синус угла value
Sqrt(double value) : возвращает квадратный корень числа value
Tan(double value) : возвращает тангенс угла value
Tanh(double value) : возвращает гиперболический тангенс угла value
Truncate(double value) : отбрасывает дробную часть числа value, возвращаяя лишь целое значение
C# | Math.Truncate() Method
In C#, Math.Truncate() is a math class method which is used to compute an integral part of a specified decimal number or double-precision floating-point number. This method can be overloaded by passing the different type of parameters to it as follows:
- Math.Truncate(Decimal)
- Math.Truncate(Double)
Math.Truncate(Decimal)
This method is used to compute an integral part of a specified decimal number.
Syntax:
Parameter:
dec: It is the specified number which is to be truncated and type of this parameter is System.Decimal.
Return Type: This method only return the integral part of dec and discard the fractional part. The type of this method is System.Decimal.
Example:
Output:
Math.Truncate(Double)
This method is used to compute an integral part of a specified double precision floating point number.
Syntax:
Parameter:
dob: It is the specified number which is to be truncated and type of this parameter is System.Double.
Return Type: This method only returns an integral part of dob and discard the fractional part. The type of this method is System.Double.
Note: If dob is NaN, then method will return NaN value and If dob is PositiveInfinity, then method will return PositiveInfinity value. If dob is NegativeInfinity, then method will return NegativeInfinity value.
Класс Math для математических вычислений в C#
Статический класс Math содержит ряд методов и констант для выполнения математических, тригонометрических, логарифмических и других операций. Так как класс статический, то и все его методы также являются статическими, т.е. вызывать эти методы можно без создания объекта типа Math . Рассмотрим основные методы этого класса.
Тригонометрические функции (синус, косинус, тангенс)
Cos(x) — возвращает косинус указанного угла x . Например,
Sin(x) — возвращает синус указанного угла x . Например,
Tan(x) — возвращает тангенс указанного угла x . Например,
Обратные тригонометрические функции (арккосинус, арксинус, арктангенс)
Acos(x) — вычисляет арккосинус заданного числа. Параметр x должен находиться в диапазоне от -1 до 1. Значение, возвращаемое методом — радианы. Пример:
Asin(x) — вычисляет арксинус числа. Параметр x должен находиться в диапазоне от -1 до 1. Например,
Atan(x) — возвращает арктангенс числа. Значение, возвращаемое методом лежит в диапазоне от -Пи/2 до +Пи/2. Например,
Atan2(x, y) — возвращает арктангенс для точки в декартовой системе координат с координатами ( x,y ). Например,
Этот метод возвращает значение (θ), в зависимости от того, в каком квадранте располагается точка, а именно:
- для ( x , y ) в квадранте 1: 0 < θ < π/2.
- для ( x , y ) в квадранте 2: π/2 < θ ≤ π.
- для ( x , y ) в квадранте 3: -π < θ < -π/2.
- для ( x , y ) в квадранте 4: -π/2 < θ < 0.
При этом стоит особо отметить, что точки могут лежать и за пределами указанных квадрантов, например, когда одна из координат равна нулю. В этом случае метод работает следующим образом:
- если y равно 0, и x не является отрицательным, то θ = 0.
- если y равно 0, и x является отрицательным, то θ = π.
- если y — положительное число, а x равно 0, то θ = π/2.
- если y — отрицательное число, а х равно 0, то θ = -π/2.
- если y равен 0, и х равен 0, то θ = 0.
Гиперболические функции (гаперболический косинус, гиперболический синус, гиперболический тангенс)
Cosh(x) — вычисляет гиперболический косинус указанного угла
Sinh(x) — вычисляет гиперболический синус указанного угла
Tanh(x) — вычисляет гиперболический тангенс указанного угла
Обратные гиперболические функции (ареакосинус, ареасинус, ареатангенс)
Acosh(x) — вычисляет ареакосинус. Параметр x должен быть больше 1. Например,
Asinh(x) — вычисляет ареасинус. Например,
Atanh(x) — вычисляет ареатангенс. Значение x должно быть в пределах от -1 до 1. Например,
Вычисление логарифмов в C#
ILogB(x) — вычисляет целочисленный логарифм с основанием 2 указанного числа, то есть значение (int)log2(x) .
Log2(x) — вычисляет логарифм с основанием 2 указанного числа.
Log(x) — вычисляет натуральный логарифм (с основанием e ) указанного числа.
Log(x, y) — вычисляет логарифм указанного числа x по основанию y .
Log10(x) — вычисляет логарифм с основанием 10 указанного числа
Методы округления чисел в C#
Ceiling(x) — возвращает наименьшее целое число, которое больше или равно заданному числу
Floor(x) — возвращает наибольшее целое число, которое меньше или равно указанному числу
Round(x) — округляет значение до ближайшего целого значения; значения посередине округляются до ближайшего четного числа
Round(x, Int32 y) — округляет значение до указанного числа знаков после запятой; значения посередине округляются до ближайшего четного числа.
Round(x, Int32 y, Midpoint Rounding) — округляет значение до указанного числа дробных цифр, используя указанное соглашение о округлении
Round(x, Midpoint Rounding) — округляет значение на целое число, используя указанное соглашение об округлении
Truncate(x) — вычисляет целую часть заданного числа
Сравнение различных методов округления в C#
| 7,256 | 7,556 | 7,5 | |
| Ceiling(x) | 8 | 8 | 8 |
| Floor(x) | 7 | 7 | 7 |
| Round(x) | 7 | 8 | 8 |
| Round(x, 2) | 7,26 | 7,56 | 7,5 |
| Round(x, ToZero) | 7 | 7 | 7 |
| Round(x, 2, ToZero) | 7,25 | 7,55 | 7,5 |
| Round(x, 2, ToPositiveInfinity) | 7,26 | 7,56 | 7,5 |
| Round(x, 2, ToNegativeInfinity) | 7,25 | 7,55 | 7,5 |
| Round(x, 2, ToEven) | 7,26 | 7,56 | 7,5 |
| Truncate(x) | 7 | 7 | 7 |
Возведение в степень и извлечение корней в C#
Cbrt(x) — возвращает кубический корень из x .
Exp(x) — возвращает e , возведенное в указанную степень x .
Pow(x, y) — возвращает число x , возведенное в степень y .
Sqrt(x) — возвращает квадратный корень из числа x .
Прочие математические операции
Abs(x) — возвращает абсолютное значение числа
Big Mul(Int32, Int32) — умножает два 32-битовых числа и возвращает значение в Int64 .
Bit Decrement(x) — возвращает ближайшее самое маленькое значение, которое меньше, чем x .
Bit Increment(Double) — возвращает наименьшее ближайшее значение, которое больше указанного значения
Clamp(x, min, max) — Возвращает x , ограниченное диапазоном от min до max включительно.
Copy Sign(Double, Double) — возвращает значение с величиной x и знаком y .
Div Rem(Int32, Int32, Int32) — Вычисляет частное чисел и возвращает остаток в выходном параметре
Fused Multiply Add(x, y, z) — возвращает значение (x * y) + z, округленное в рамках одной тернарной операции.
Метод Fused Multiply Add округляет значение один раз — в конце вычислений, в то время как обычное вычисление (x * y) + z вначале округляет значение, полученное в скобках, затем добавляет к полученному значению z и ещё раз округляет результат.
IEEERemainder(x, y) — Возвращает остаток от деления одного указанного числа на другое указанное число
Функция IEEERemainder не совпадает с оператором % , который также вычисляет остаток от деления. Различие заключается в формулах, используемых при вычислениях. Оператор действует следующим образом:
a % b = (Math.Abs(а) — (Math.Abs(b) * (Math.Floor(Math.Abs(a) / Math.Abs(b))))) * Math.Sign(a)
в то время, как метод IEEERemainder производит вычисления следующим образом:
IEEERemainder(а,b) = a-(b * Math.Round(a/b))
Max(x, y) — возвращает большее из чисел
Max Magnitude(x, y) — возвращает большую величину из двух чисел двойной точности с плавающей запятой. При сравнении двух чисел не учитывается знак
Min(Byte, Byte) — возвращает меньшее из двух чисел
Min Magnitude(x, y) — возвращает меньшую величину из чисел. При сравнении не учитывается знак
ScaleB(x, y) — Возвращает значение x * 2^n, вычисленное наиболее эффективно.
Sign(x) — возвращает целое число, указывающее знак десятичного числа.
Константы класса Math
В классе Math также определены две константы — E и PI :
Итого
В статическом классе Math содержатся функции для тригонометрических, гиперболических и прочих вычислений. Кроме этого, класс содержит ряд методов округления чисел как в большую, так и меньшую сторону, а также методы для возведения чисел в степень и вычисления корней.