System::Decimal класс

Decimal class

Представляет десятичное число. Этот тип должен быть размещён в стеке и передаваться в функции по значению или по ссылке. Никогда не используйте класс System::SmartPtr для управления объектами этого типа.

class Decimal

Методы

МетодОписание
static Add(const Decimal&, const Decimal&)Складывает два указанных значения Decimal.
static Ceiling(const Decimal&)Возвращает наименьшее целое значение, которое больше или равно указанному значению.
static Compare(const Decimal&, const Decimal&)Определяет, меньше ли значение, представленное первым объектом Decimal, равно ли оно или больше значения, представленного вторым объектом Decimal.
CompareTo(const Decimal&) constОпределяет, меньше ли значение, представленное текущим объектом, равно ли оно или больше значения, представленного указанным объектом.
Decimal()Создаёт экземпляр, представляющий 0.
Decimal(std::int8_t)Создаёт экземпляр, представляющий указанное значение.
Decimal(std::int16_t)Создаёт экземпляр, представляющий указанное значение.
Decimal(std::int32_t)Создаёт экземпляр, представляющий указанное значение.
Decimal(std::int64_t)Создаёт экземпляр, представляющий указанное значение.
Decimal(std::uint8_t)Создаёт экземпляр, представляющий указанное значение.
Decimal(std::uint16_t)Создаёт экземпляр, представляющий указанное значение.
Decimal(std::uint32_t)Создаёт экземпляр, представляющий указанное значение.
Decimal(std::uint64_t)Создаёт экземпляр, представляющий указанное значение.
Decimal(float)Создаёт экземпляр, представляющий указанное значение.
Decimal(double)Создаёт экземпляр, представляющий указанное значение.
explicit Decimal(const std::string&)Создаёт экземпляр, представляющий значение, строковое представление которого указано как экземпляр класса std::string.
Decimal(int32_t, int32_t, int32_t, bool, uint8_t)Создаёт объект Decimal из указанных компонентов.
Decimal(const Decimal&)Создаёт экземпляр класса Decimal, представляющий то же число, что и указанный объект Decimal.
Decimal(const ArrayPtr<int32_t>&)Создаёт экземпляр класса Decimal из массива целых чисел, содержащего двоичное представление.
Decimal(std::nullptr_t)Всегда генерирует ArgumentNullException.
Decimal(const number_type&)Создаёт экземпляр класса Decimal, представляющий указанное значение.
static Divide(const Decimal&, const Decimal&)Делит два указанных значения Decimal.
Equals(const Decimal&) constОпределяет, равны ли значения, представленные текущим объектом и указанным объектом.
Equals(const SharedPtr<Object>&) constОпределяет, равны ли значения, представленные текущим объектом и указанным объектом.
static Equals(const Decimal&, const Decimal&)Определяет, равны ли значения, представленные указанными объектами.
static Floor(const Decimal&)Возвращает наибольшее целое значение, которое меньше или равно указанному значению.
static FromOACurrency(int64_t)Convert указанное значение валюты OLE в эквивалентное значение Decimal. НЕ РЕАЛИЗОВАНО.
static GetBits(const Decimal&)Преобразует указанный объект Decimal в двоичное представление значения, которое он представляет.
static GetBytes(const Decimal&, const System::ArrayPtr<uint8_t>&)Convert указанное значение Decimal в массив байтов.
GetHashCode() constВозвращает хеш‑код текущего объекта.
GetTypeCode() constПолучает код типа объекта.
static Multiply(const Decimal&, const Decimal&)Умножает два указанных значения Decimal.
static Negate(const Decimal&)Возвращает новый экземпляр класса Decimal, представляющий значение, полученное в результате отрицания значения, представленного указанным объектом.
explicit operator bool() constПреобразует значение, представленное текущим объектом, в логическое значение.
explicit operator double() constПреобразует значение, представленное текущим объектом, в число с плавающей точкой двойной точности.
explicit operator float() constПреобразует значение, представленное текущим объектом, в число с плавающей точкой одинарной точности.
operator!=(const Decimal&) constОпределяет, не равны ли значения, представленные текущим объектом и указанным объектом.
operator!=(std::nullptr_t) constОпределяет, отличается ли значение, представленное текущим объектом, от 0.
operator%(const Decimal&) constВозвращает новый экземпляр класса Decimal, представляющий значение, полученное в результате операции взятия остатка от деления значений, представленных текущим и указанным объектами.
operator%=(const Decimal&)Присваивает текущему объекту новое значение, полученное в результате операции взятия остатка от деления значений, представленных текущим и указанным объектами.
operator*(const Decimal&) constВозвращает новый экземпляр класса Decimal, представляющий значение, полученное в результате умножения значений, представленных текущим и указанным объектами.
operator*=(const Decimal&)Присваивает текущему объекту новое значение, полученное в результате умножения значений, представленных текущим и указанным объектами.
operator+(const Decimal&) constВозвращает новый экземпляр класса Decimal, представляющий значение, являющееся суммой значений, представленных текущим и указанным объектами.
operator++()Увеличивает значение, представленное текущим объектом.
operator+=(const Decimal&)Присваивает текущему объекту новое значение, являющееся суммой значений, представленных текущим и указанным объектами.
operator-(const Decimal&) constВозвращает новый экземпляр класса Decimal, представляющий значение, полученное в результате вычитания значения, представленного указанным объектом, из значения, представленного текущим объектом.
operator-() constВозвращает новый экземпляр класса Decimal, представляющий значение, полученное в результате отрицания значения, представленного текущим объектом.
operator–()Уменьшает значение, представленное текущим объектом.
operator-=(const Decimal&)Присваивает текущему объекту новое значение, полученное в результате вычитания значения, представленного указанным объектом, из значения, представленного текущим объектом.
operator/(const Decimal&) constВозвращает новый экземпляр класса Decimal, представляющий значение, которое является результатом деления значения, представленного текущим объектом, на значение, представленного указанным объектом.
operator/=(const Decimal&)Присваивает текущему объекту новое значение, которое является результатом деления значения, представленного текущим объектом, на значение, представленного указанным объектом.
operator<(const Decimal&) constОпределяет, меньше ли значение, представленное текущим объектом, чем значение, представленное указанным объектом.
operator<=(const Decimal&) constОпределяет, меньше ли или равно значение, представленное текущим объектом, значению, представленному указанным объектом.
operator=(const Decimal&)Присваивает значение, представленное указанным объектом, текущему объекту.
operator==(const Decimal&) constОпределяет, равны ли значения, представленные текущим объектом и указанным объектом.
operator==(std::nullptr_t) constОпределяет, равно ли значение, представленное текущим объектом, нулю.
operator>(const Decimal&) constОпределяет, больше ли значение, представленное текущим объектом, чем значение, представленное указанным объектом.
operator>=(const Decimal&) constОпределяет, больше ли или равно значение, представленное текущим объектом, значению, представленному указанным объектом.
static Parse(const String&)Преобразует строковое представление десятичного числа в эквивалентный экземпляр класса Decimal.
static Parse(const String&, Globalization::NumberStyles)Преобразует строковое представление десятичного числа в эквивалентный экземпляр класса Decimal, используя указанный стиль.
static Parse(const String&, const SharedPtr<IFormatProvider>&)Преобразует строковое представление десятичного числа в эквивалентный экземпляр класса Decimal, используя указанный поставщик формата.
static Parse(const String&, Globalization::NumberStyles, const SharedPtr<IFormatProvider>&)Преобразует строковое представление десятичного числа в эквивалентный экземпляр класса Decimal, используя указанный стиль и поставщик формата.
static Remainder(const Decimal&, const Decimal&)Вычисляет остаток от деления двух значений Decimal.
static Round(const Decimal&, MidpointRounding)Округляет указанное значение до ближайшего целого числа. Параметр определяет поведение функции, если указанное значение находится на одинаковом расстоянии от двух ближайших чисел.
static Round(const Decimal&, int, MidpointRounding)Округляет указанное значение до ближайшего значения с указанным числом знаков после запятой. Параметр определяет поведение функции, если указанное значение находится на одинаковом расстоянии от двух ближайших чисел.
static Subtract(const Decimal&, const Decimal&)Вычитает одно указанное значение Decimal из другого.
static ToByte(Decimal)Преобразует значение Decimal в беззнаковое 8‑битное целое значение.
static ToDouble(Decimal)Преобразует значение Decimal в число с плавающей запятой двойной точности.
static ToInt16(Decimal)Преобразует значение Decimal в знаковое 16‑битное целое значение.
static ToInt32(Decimal)Преобразует значение Decimal в знаковое 32‑битное целое значение.
static ToInt64(Decimal)Преобразует значение Decimal в знаковое 64‑битное целое значение.
static ToOACurrency(const Decimal&)Convert указанное значение Decimal в эквивалентное значение валюты OLE. НЕ РЕАЛИЗОВАНО.
static ToSByte(Decimal)Преобразует значение Decimal в знаковое 8‑битное целое значение.
static ToSingle(Decimal)Преобразует значение Decimal в число с плавающей запятой одинарной точности.
ToStdString() constВозвращает экземпляр std::string, содержащий строковое представление значения, представленного объектом.
ToString() constВозвращает строковое представление значения, представленного объектом.
ToString(const SharedPtr<IFormatProvider>&) constПреобразует текущий объект в строку, используя культурно‑специфичную информацию о формате.
ToString(const SharedPtr<Globalization::CultureInfo>&) const
ToString(const SharedPtr<Globalization::NumberFormatInfo>&) const
ToString(const Decimal&, std::nullptr_t) const
ToString(const String&, const SharedPtr<IFormatProvider>&) constПреобразует текущий объект в его строковое представление, используя указанный строковый формат и культурно‑специфичную информацию о формате, предоставленную указанным объектом IFormatProvider.
ToString(const String&, const SharedPtr<Globalization::CultureInfo>&) const
ToString(const String&, const SharedPtr<Globalization::NumberFormatInfo>&) const
ToString(const String&, std::nullptr_t) const
ToStringInternal() constВозвращает строковое представление значения, представленного объектом. Для внутреннего использования.
static ToUInt16(Decimal)Преобразует значение Decimal в беззнаковое 16‑битное целое значение.
static ToUInt32(Decimal)Преобразует значение Decimal в беззнаковое 32‑битное целое значение.
static ToUInt64(Decimal)Преобразует значение Decimal в беззнаковое 64‑битное целое значение.
static Truncate(const Decimal&)Возвращает объект Decimal, представляющий значение, у которого целая часть равна целой части значения, представленного указанным объектом Decimal, при этом все дробные цифры отбрасываются.
static TryParse(const String&, Decimal&)Преобразует указанную строку, содержащую строковое представление числа, в эквивалентное значение Decimal.
static TryParse(const String&, Globalization::NumberStyles, const SharedPtr<IFormatProvider>&, Decimal&)Преобразует указанную строку, содержащую строковое представление числа, в эквивалентное значение Decimal, используя предоставленную информацию о форматировании и стиль числа.
static Type()Возвращает ссылку на объект TypeInfo, представляющий информацию о типе класса Decimal.
~Decimal()Деструктор.

Поля

ПолеОписание
static MaxValueПредставляет наибольшее число, которое может быть представлено классом Decimal.
static MinusOneПредставляет число -1.
static MinValueПредставляет наименьшее число, которое может быть представлено классом Decimal.
static OneПредставляет число 1.
static ZeroПредставляет число 0.

Typedefs

Определение типаОписание
number_typeПсевдоним для Detail::decimal_number_type.

Примечания

#include "system/console.h"
#include "system/decimal.h"

int main()
{
  using namespace System;

  Console::WriteLine(Decimal::MinValue);
  Console::WriteLine(Decimal::MaxValue);

  auto dividend = Decimal::One;
  auto divisor = 6;
  Console::WriteLine(dividend/divisor);

  return 0;
}
/*
This code example produces the following output:
-79228162514264337593543950335
79228162514264337593543950335
0,1666666666666666666666666667
*/

См. также