Содержание

Пакет scala.math — packagemath Объект пакета scala.math содержит методы для выполнения основных чис

Типовые члены

final class BigDecimal расширяет ScalaNumber с помощью ScalaNumericConversions с Serializable with Ordered [ BigDecimal ]

BigDecimal представляет собой десятичные числа с плавающей запятой произвольной точности. По умолчанию точность приблизительно соответствует точности 128-битных чисел с плавающей запятой IEEE (34 десятичных знака, HALF_EVEN округления HALF_EVEN ). В диапазоне чисел IEEE binary128 BigDecimal согласится с BigInt как в отношении равенства, так и в отношении хэш-кодов (а также согласится с примитивными типами). За пределами этого диапазона — номера с более чем 4934 цифр , когда в полном виде — в hashCode из BigInt и BigDecimal разрешается расходиться из — за трудностей в эффективном вычислении как десятичное представление в BigDecimal и двоичное представление в BigInt .

При создании BigDecimal

из Double или Float необходимо соблюдать осторожность, поскольку двоичное представление дробной части Double и Float нелегко преобразовать в десятичное представление. Для преобразования доступны три явные схемы. BigDecimal.decimal преобразует число с плавающей запятой в десятичное текстовое представление и на его основе построит BigDecimal . BigDecimal.binary расширит двоичную дробь до требуемой точности или точности по умолчанию. BigDecimal.exact расширит двоичную дробь до полного числа цифр, тем самым получая точное десятичное значение, соответствующее двоичной дроби этого числа с плавающей запятой. BigDecimal
Равенство BigDecimal соответствует десятичному расширению Double : BigDecimal.decimal(0.1) == 0.1 . Обратите внимание, что, поскольку 0.1f != 0.1 , это не относится к Float . Вместо этого 0.1f == BigDecimal.decimal((0.1f).toDouble) .

Чтобы проверить, можно ли преобразовать число BigDecimal в Double или Float , а затем обратно без потери информации с помощью одного из этих методов, проверьте с помощью isDecimalDouble ,

isBinaryDouble или isExactDouble или соответствующих версий Float . Обратите внимание , что BigInt «s isValidDouble согласятся с isExactDouble , не isDecimalDouble используется по умолчанию.

BigDecimal использует десятичное представление двоичных чисел с плавающей запятой для определения равенства и хэш-кодов. Это дает разные ответы, чем преобразование между значениями Long и Double , где используется точная форма. Как всегда, поскольку числа с плавающей запятой представляют собой представление с потерями, рекомендуется соблюдать осторожность, предполагая, что идентичность будет сохраняться при нескольких преобразованиях.

BigDecimal поддерживает MathContext , который определяет округление, применяемое к определенным вычислениям. В большинстве случаев значение BigDecimal также округляется до точности, указанной в MathContext . Чтобы создать BigDecimal с точностью, отличной от его MathContext , используйте new BigDecimal(new java.math.BigDecimal(...), mc) . Округление будет применяться к тем математическим операциям, которые могут резко изменить количество цифр в полном представлении, а именно к умножению, делению и степеням.

MathContext левого аргументавсегда определяет степень округления, если таковая имеется, и распространяется с помощью арифметических операций, которые сами по себе не применяют округление.

final class BigInt расширяет ScalaNumber с помощью ScalaNumericConversions с Serializable with Ordered [ BigInt ]

трейт Equiv [ T ] расширяет Serializable

Черта для представления отношений эквивалентности. Важно различать тип,который может быть сопоставлен с точки зрения равенства или эквивалентности,и представление эквивалентности по какому-либо типу.Эта черта предназначена для представления последнего.

Отношение эквивалентности является бинарным отношением на типе. Это отношение представлено как equiv метод признака Equiv . Отношение должно быть:

    рефлексивный: equiv(x, x) == true для любого х типа T . симметричный: equiv(x, y) == equiv(y, x) для любых x и y типа T транзитивный: если equiv(x, y) == true и equiv(y, z) == true , то equiv(x, z) == true для любого x , y и z типа T .
Since

2.7

trait Fractional [ T ] расширяет Numeric [ T ]

Since

2.8

trait Integral [ T ] расширяет Numeric [ T ]

Since

2. 8

trait LowPriorityEquiv расширяет AnyRef

trait LowPriorityOrderingImplicits расширяет AnyRef

trait Numeric [ T ] расширяет Ordering [ T ]

trait Ordered [ A ] расширяет Comparable [ A ]

Признак для данных, имеющих единый естественный порядок. См. Scala.math.Ordering перед использованием этого трейта для получения дополнительной информации о том, следует ли использовать scala.math.Ordering вместо .

Классы, реализующие этот признак, можно сортировать с помощью scala.util.Sorting и сравнивать со стандартными операторами сравнения (например,> и <).

Ордера должны использоваться для данных с одним естественным порядком (как целые числа),в то время как Ордера допускают несколько реализаций ордера.При необходимости экземпляр Ordering будет создан неявно.

scala.math.Ordering — альтернатива этому признаку, позволяющая определять несколько порядков для одного и того же типа.

scala.math.ParhibitedOrdered — альтернатива этому признаку для частично упорядоченных данных.

Например, создайте простой класс, реализующий Ordered , а затем отсортируйте его с помощью scala.util.Sorting :

case class OrderedClass(n:Int) extends Ordered[OrderedClass] {
	def compare(that: OrderedClass) =  this.n - that.n
}
val x = Array(OrderedClass(1), OrderedClass(5), OrderedClass(3))
scala.util.Sorting.quickSort(x)
x

Важно, чтобы метод equals для экземпляра Ordered[A] согласовывался с методом сравнения. Однако из-за ограничений, присущих семантике стирания типов, нет разумного способа обеспечить реализацию равенства по умолчанию для экземпляров

Ordered[A] . Следовательно, если вам нужно иметь возможность использовать равенство в экземпляре Ordered[A] вы должны предоставить его самостоятельно либо при наследовании, либо при создании экземпляра.

Важно, чтобы метод hashCode для экземпляра Ordered[A] согласовывался с методом compare . Однако обеспечить разумную реализацию по умолчанию невозможно. Следовательно, если вам необходимо вычислить хэш экземпляра Ordered[A] вы должны предоставить его самостоятельно либо при наследовании, либо при создании экземпляра.

См.также

scala.math.Ordering , scala.math.ParhibitedOrdered

trait Ordering [ T ] расширяет Comparator [ T ] с помощью PartialOrdering [ T ] с помощью Serializable

Ордера-это признак,каждый из экземпляров которого представляет собой стратегию сортировки экземпляров типа.

Объект-компаньон заказа определяет множество неявных объектов для работы с подтипами AnyVal (например,Int,Double),String и другими.

Для сортировки экземпляров по одной или нескольким переменным членам,вы можете воспользоваться этими встроенными заказами,используя Orderering.by и Orderering.on:

import scala.util.Sorting
val pairs = Array(("a", 5, 2), ("c", 3, 1), ("b", 1, 3))
// сортируем по 2-му элементу
Sorting.quickSort(pairs)(Ordering.by[(String, Int, Int), Int](_._2))
// сортируем по 3-му элементу, затем по 1-му
Sorting.
quickSort(pairs)(Ordering[(Int, String)].on(x => (x._3, x._1)))

Ордер[T]реализован путем указания команды сравнения(a:T,b:T),которая решает,как заказать два экземпляра a и b.Примеры ордеров[T]могут быть использованы такими вещами,как scala.util.Sorting для сортировки коллекций,таких как Array[T].

Например:

import scala.util.Sorting
case class Person(name:String, age:Int)
val people = Array(Person("bob", 30), Person("ann", 32), Person("carl", 19))
// сортируем по возрасту
object AgeOrdering extends Ordering[Person] {
  def compare(a:Person, b:Person) = a.age compare b.age
}
Sorting.quickSort(people)(AgeOrdering)

Эта черта и scala.math.Ordered обеспечивают одинаковую функциональность,но разными способами.Типу T можно дать один способ заказать сам по себе,расширив Ordered.Используя Ordering,этот же тип может быть отсортирован многими другими способами.Ордера и Ордеры предоставляют имплициты,позволяющие использовать их взаимозаменяемо.

Вы можете импортировать scala. math.Ordering.Impplicits,чтобы получить доступ к другим неявным заказам.

Annotations
@ implicitNotFound («Для $ {T} не определено неявное упорядочивание.»)
Since

2.7

См.также

scala.math.Ordered , scala.util.Sorting

trait PartialOrdering [ T ] расширяет Equiv [ T ]

Черта для представления частичных заказов.Важно различать тип,который имеет частичный заказ,и представление частичного заказа на некоторый тип.Эта черта предназначена для представления последнего.

Частичное упорядочение является бинарным отношением на типе T , подвергаются как lteq метода этого признака. Это отношение должно быть:

    рефлексивно: lteq(x, x) == true , для любого x типа T . антисимметричный: если lteq(x, y) == true и lteq(y, x) == true то equiv(x, y) == true для любых x и y типа T . транзитивный: если lteq(x, y) == true и lteq(y, z) == true то lteq(x, z) == true для любого x , y и z типа T .

Кроме того, частичный порядок индуцирует отношение эквивалентности для типа T : x и y типа T эквивалентны тогда и только тогда, когда lteq(x, y) && lteq(y, x) == true . Это отношение эквивалентности представлено как метод equiv , унаследованный от трейта Equiv .

Since

2.7

trait ParfullyOrdered [ + A ] расширяет Any

trait ScalaNumericAnyConversions расширяет Any

trait ScalaNumericConversions расширяет ScalaNumber с помощью ScalaNumericAnyConversions

Члены Ценности

Конец Е-значения:Двойной(2.7182828459045)

def IEEEremainder ( x: Double , y: Double ): Double

финал val Pi:Double(3.

141592653589793)

def abs ( x: Double ): двойной

def abs ( x: Float ): Float

def abs ( x: Long ): длинный

def abs ( x: Int ): Int

def acos ( x: Double ): двойной

def addExact ( x: Long , y: Long ): Long

def addExact ( x: Int , y: Int ): Int

def asin ( x: Double ): двойной

def atan ( x: Double ): двойной

def atan2 ( y: двойной , x: двойной ): двойной

Преобразует прямоугольные координаты (x, y) в полярные (r, theta) .

y

абсолютные координаты

x

ординатная координата

returns

thethetaкомпонент точки (r, theta) в полярных координатах, которая соответствует точке (x, y) в декартовых координатах.

def cbrt ( x: Double ): двойной

Возвращает кубический корень заданного значения Double .

x

число,чтобы взять кубический корень

returns

значение ∛x

def ceil ( x: Double ): двойной

def copySign ( величина: Float , знак: Float ): Float

def copySign ( magnitude: Double , sign: Double ): Double

def cos ( x: Double ): двойной

def cosh ( x: Double ): двойной

def DecmentExact ( x: Long ): Длинный

def декрементExact ( x: Int ): Int

def exp ( x: Double ): двойной

Возвращает число Эйлера e в степени Double значения.

x

показатель степени, в который нужно возвести e .

returns

значение ea , где e — основание натурального логарифма.

def expm1 ( x: Double ): двойной

def floor ( x: Double ): двойной

def floorDiv ( x: Long , y: Long ): Long

def floorDiv ( x: Int , y: Int ): Int

def floorMod ( x: Long , y: Long ): Long

def floorMod ( x: Int , y: Int ): Int

def getExponent ( d: Double ): Int

def getExponent ( f: Float ): Int

def hypot ( x: Double , y: Double ): двойной

Возвращает квадратный корень из суммы квадратов обоих заданных значений Double без промежуточного потери значимости или переполнения.

Therкомпонент точки (r, theta) в полярных координатах, которая соответствует точке (x, y) в декартовых координатах.

def incrementExact ( x: Long ): Длинный

def incrementExact ( x: Int ): Int

def log ( x: Double ): двойной

Возвращает натуральный логарифм значения Double .

x

число,принимающее натуральный логарифм

returns

значение logₑ(x) где e — число Эйлера

def log10 ( x: Double ): двойной

def log1p ( x: Double ): двойной

def max ( x: двойной , y: двойной ): двойной

def max ( x: Float , y: Float ): Float

def max ( x: Длинный , y: Long ): Длинный

def max ( x: Int , y: Int ): Int

def min ( x: двойной , y: двойной ): двойной

def min ( x: Float , y: Float ): Float

def min ( x: длинный , y: длинный ): длинный

def min ( x: Int , y: Int ): Int

def multiplyExact ( x: Long , y: Long ): Long

def multiplyExact ( x: Int , y: Int ): Int

def negateExact ( x: Long ): длинный

def negateExact ( x: Int ): Инт

def nextAfter ( начало: Float , direction: Double ): Float

def nextAfter ( начало: Двойное , направление: Двойное ): Двойное

def nextDown ( f: Float ): плавающий

def nextDown ( d: двойной ): двойной

def nextUp ( f: Float ): Float

def nextUp ( d: Double ): двойной

def pow ( x: двойной , y: двойной ): двойной

Возвращает значение первого аргумента,поднятого во второй аргумент.

x

базу.

y

Экспонент.

returns

значение xy .

def random (): двойной

def rint ( x: Double ): двойной

Возвращает значение Double , наиболее близкое по значению к аргументу и равное математическому целому числу.

x

Double значение

returns

ближайшее к математическому целому числу значение с плавающей точкой.

def round ( x: Double ): длинный

Возвращает ближайший к аргументу Long .

x

значение с плавающей запятой, которое нужно округлить до Long .

returns

значение аргумента округляется до ближайшего long значения.

def round ( x: Float ): Int

Возвращает ближайший к аргументу Int .

x

значение с плавающей запятой, округляемое до Int .

returns

значение аргумента округляется до ближайшего значения Int .

def scalb ( f: Float , scaleFactor: Int ): Float

def scalb ( d: Double , scaleFactor: Int ): Double

def signum ( x: Double ): двойной

def signum ( x: Float ): плавающее

def signum ( x: Long ): длинный

Note

Перенаправляет на java.lang.Long

def signum ( x: Int ): Int

Note

Перенаправляет на java.lang.Integer

def sin ( x: Double ): двойной

def sinh ( x: Double ): двойной

def sqrt ( x: Double ): двойной

Возвращает квадратный корень из значения типа Double .

x

число,принимающее квадратный корень

returns

значение √x

def subtractExact ( x: Long , y: Long ): Long

def subtractExact ( x: Int , y: Int ): Int

def tan ( x: Double ): двойной

def tanh ( x: Double ): двойной

def toDegrees ( x: Double ): двойной

Преобразует угол,измеренный в радиан,в приблизительно эквивалентный угол,измеренный в градусах.

x

угол,в радиусах

returns

измерение угла x в градусах.

def toIntExact ( x: Long ): Int

def toRadians ( x: Double ): двойной

Преобразует угол,измеренный в градусах,в приблизительно эквивалентный угол,измеренный в радиусах.

x

угол,в градусах

returns

измерение угла x в радианах.

def ulp ( x: Float ): Float

def ulp ( x: Double ): двойной

объект BigDecimal расширяет java.io.Serializable

Since

2.7

объект BigInt расширяет java.io.Serializable

Since

2.1

объект Эквивалент расширяет LowPriorityEquiv с java.io.Serializable

объект Fractional расширяет java.io.Serializable

объект Integral расширяет java.io.Serializable

объект Numeric расширяет java.io.Serializable

Since

2. 8

объект заказан

Object Ordering расширяет LowPriorityOrderingImplicits с помощью java.io.Serializable

Это объект-компаньон для трейта scala.math.Ordering .

Он содержит множество неявных заказов,а также методы построения новых заказов.

объект PartialOrdering расширяет java.io.Serializable

какие оценки идут, как выглядит

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

Источник: postupi.online

Аттестат о среднем (полном) общем образовании — это документ, удостоверяющий получение среднего школьного образования в России и многих странах Европы.

Как получить аттестат в 2023 году

Для получения аттестата после 9-го класса необходимо получить положительные годовые оценки (выше «двойки») по всем школьным предметам с 5 по 9 класс. Кроме того, после внедрения ОГЭ в качестве этапа контроля знаний учащихся аттестат можно получить только после успешной сдачи четырех экзаменов: двух обязательных (русский язык и математика) и двух по выбору.

Успешная сдача ОГЭ подразумевает получение минимально допустимого (проходного) первичного балла по каждой из дисциплин, включая дополнительные (по выбору).

Какие оценки идут в аттестат после девятого класса

В аттестате вы увидите список всех предметов, которые вы изучали в средней школе в соответствии с учебным планом. Сами оценки ставят по следующим принципам:

  1. По русскому языку, математике и двум выбранным вами дисциплинам (по которым вы сдаете ОГЭ) оценка в аттестате является средним арифметическим результатом экзамена и годовой оценки по предмету. Например, если по физике за год вы получили «пять», но вторичная оценка за экзамен «четыре», то оценка в аттестате будет (5+4)/2 = 4,5, округление до целого числа происходит по арифметическим правилам.
  2. По дисциплинам, завершившимся в девятом классе, балл в аттестате соответствует годовой оценке.
  3. По дисциплинам, завершившимся до девятого класса, балл в аттестате соответствует последней годовой оценке.

Четвертные оценки не влияют на оценку в аттестате

Также в аттестат могут пойти оценки за факультативные и элективные курсы. В этом случае действуют следующие правила:

  • если курс рассчитан менее чем на 64 часа за два года, то результаты будут отражены в разделе «Дополнительные сведения» аттестата;
  • если курс рассчитан более чем на 64 часа за два года, то оценка по нему может быть выставлена вместе с основными дисциплинами.

Аттестат особого образца

Чтобы получить красный аттестат, нужно выполнить следующие условия:

  1. Набрать «проходной» (минимальный первичный) балл по каждой дисциплине, которую вы сдаете в формате ОГЭ.
  2. Написать ОГЭ без пересдач.
  3. Иметь «отлично» по всем дисциплинам, которые изучаются с 5 по 9 класс в соответствии с учебным планом. Иными словами, если по какому-либо предмету последняя годовая оценка «четыре», то аттестат особого образца вы не получите.

На что влияют оценки в аттестате

По окончании 9 класса вы можете выбрать разные пути, один из которых — продолжение учебы в колледже, техникуме, училище. В случае, если вы решите поступать в учреждение среднего профессионального образования (СПО), отбор будет осуществляться по конкурсу аттестатов. Проще говоря, для поступления в колледж не так важны результаты ОГЭ, как оценки в аттестате.

Примеры аттестатов за 9 класс

     

Чтобы получить конкурентоспособный аттестат, нужно долго и упорно трудиться с 5 класса. Не забывайте, что в образовательном процессе есть и один очень важный субъективный фактор — взаимоотношения с преподавателями. Даже если вы круглый отличник, но ведете себя недостойно, велика вероятность, что учитель «завалит» на фоне его неприязни к вам. Поэтому взращивайте не только ум, но и культуру.

В человеке все должно быть прекрасно: и лицо, и одежда, и душа, и мысли. — А.П. Чехов.

Источник: miloserdie.ru 

Надеемся, мы смогли ответить на основные вопросы. Если нет, будем рады помочь через сервис Феникс.Хелп.

Java Math.round() — Темы масштабирования

Обзор

Округление — это термин в математике, который относится к преобразованию десятичного значения в ближайшее целое значение. Округление или округление полезно, когда любое арифметическое выражение дает свой результат в десятичных значениях, но нам нужно получить результат в виде целого числа для простоты понимания вычислений. Существуют различные методы округления в языке программирования Java.

Сфера применения статьи

  • В этой статье рассматриваются различные способы округления десятичных значений в java.
  • Методы и классы, используемые для округления в Java Math.ceil(), Math.floor(), Math.round(), format(), DecimalFormat, RoundingMode подробно объясняются с помощью примеров.
  • Также рассматриваются основные типы данных, необходимые для понимания преобразования десятичных значений.

Введение в Math.round() в java

Округление используется для преобразования десятичных значений в целые значения для простоты расчетов или в соответствии с необходимостью расчета. Значения округляются до ближайшего целого числа. Эти значения можно округлить до большего или меньшего целого числа. Если десятичное значение больше 0,5, то десятичное значение будет округлено до большего значения, а если десятичное значение меньше 0,5, то оно будет округлено до меньшего значения.

Давайте посмотрим на несколько простых примеров, чтобы увидеть, как мы обычно округляем в математике:

1,781,781,78 = 222

2,76886782,76886782,7688678 = 333

−1,23477-1,23477−1,23477 = −1-1−1

Примитивные типы данных — это типы данных, которые не считаются объектами и представляют собой переменные. Большинство переменных, которые мы объявляем, относятся к примитивным типам данных в java.

Например:

int a = 10;

В java существует 8 примитивных типов данных: int, byte, short, long, float, double, boolean и char. Мы разберем 2 примитива, которые входят в предмет этой статьи: float и double. И float, и double являются типами с плавающей запятой, в которых хранятся дробные числа, т. е. десятичные числа, содержащие одно или несколько десятичных знаков.

1. float

  • Тип данных float может хранить дробные числа в диапазоне от 3.4e-038 до 3.4e+038.
  • Точность float составляет только шесть или семь десятичных цифр .

Пример:

2. double

  • Тип данных double может хранить дробные числа в диапазоне от 1,76-308 до 1,7. е+308.
  • Точность double до 15 цифр . Следовательно, double предпочтительнее, когда требуется точность .

Пример:

Различные способы округления в Java

В библиотеках Java предусмотрены различные способы округления чисел с плавающей запятой. Некоторые из этих методов являются частью класса java.lang.Math . Другие подходы также могут использоваться для округления в java без использования методов класса Math.

Java имеет предопределенный класс в пакете java.lang , известный как Math class , который занимается математическими вычислениями. Класс java.lang.math расширяет класс java.lang.Object , который является надклассом в java. Он содержит методы для выполнения основных числовых операций, таких как журнал, квадратный корень, тригонометрические функции и т. д.

1. Использование метода Math.ceil()

Метод java.lang.Math.ceil() используется для ближайшее целое значение, которое больше или равно числу , указанному в качестве аргумента.

Примеры:

см (1,2656) см (1,2656) см (1,2656) = 222

см (6876,677) см (6876,677) см (6876,677) = 687768776877

единиц (-0,897) единиц (-0,897) ciel(-0,897) = -0-0-0

а. Синтаксис

б. Параметр

Метод Math.ceil() принимает переменную double в качестве аргумента/параметра.

в. Возвращает

Этот метод возвращает ближайшее значение с плавающей запятой, которое больше или равно числу, указанному в качестве аргумента метода.

  • Если аргумент равен Not a Number(NaN) , этот метод вернет сам аргумент .
  • Если аргумент равен +ve/-ve Infinity , этот метод вернет значение Infinity с тем же знаком .
  • Если аргумент равен ноль , этот метод вернет 0*.
  • Если аргумент представляет собой число меньше 0 , но больше -1.0 , этот метод вернет -0 .
  • Если аргумент равен +ve или -ve double value , этот метод вернет ceil value , т.е. ближайшее значение, которое больше или равно аргументу.

Примечания: Несмотря на то, что метод Math.ceil() округляет аргумент, тип выходных данных будет double , что равно его математическому целочисленному значению. Вы можете запомнить это, сравнив его с потолком своей комнаты. Потолок вверху/выше уровня. Вывод функции Math.ceil() даст большее/большее число в качестве вывода.

д. Пример

Вывод:

2. Использование метода Math.floor()

Метод java.lang.Math.floor() используется для поиска ближайшего целочисленного значения, которое на меньше или равно числу дано в качестве аргумента.

Примеры:

см (1,2656) см (1,2656) см (1,2656) = 111

см (6876,677) см (6876,677) см (6876,677) = 687668766876

единиц (-0,897) единиц (-0,897) сиэль (-0,897) = -1-1-1

а. Синтаксис

б. Параметр Метод Math.floor() принимает двойную переменную в качестве аргумента/параметра.

в. Возвращает Этот метод возвращает ближайшее значение с плавающей запятой, которое меньше или равно числу, указанному в качестве аргумента метода.

  • Если аргумент не является числом (NaN) , этот метод вернет сам аргумент .
  • Если аргумент равен +ve/-ve Infinity , этот метод вернет Бесконечность с тем же знаком .
  • Если аргумент равен +ve/-ve Zero , этот метод вернет 0 с тем же знаком .
  • Если аргумент представляет собой число меньше 0, но больше -1.0 , этот метод вернет -1 .
  • Если аргумент равен +ve или -ve double value , этот метод вернет минимальное значение , т.е. ближайшее значение, которое меньше или равно аргументу.

Примечания: Несмотря на то, что метод Math.floor() округляет аргумент, тип выходных данных будет double , что равно его математическому целочисленному значению. Вы можете запомнить это, сравнив его с полом своей комнаты. Поскольку пол находится внизу/на более низком уровне, выходные данные функции Math.floor() будут давать более низкое/меньшее число в качестве вывода.

д. Пример

Вывод:

3. Использование метода Math.round()

Метод java. lang.Math.round() в Java используется для округления десятичных чисел до ближайшего целого числа. Это целочисленное значение может быть больше или меньше десятичного значения, которое округляется. Этот метод принимает в качестве аргументов переменные типа float и double.

Результат округления аргумента до целого числа вычисляется путем прибавления 1/2, т. е. 0,5, а затем взятия минимального результата значения после сложения. Это найдет большее или меньшее целочисленное значение в зависимости от того, что ближе к аргументу.

Давайте разберемся на нескольких примерах:

Напр. 1 : округление до 8,76

  • Шаг 1: Добавьте 0,5 к плавающему числу.

8,76 + 0,5 = 9,26

  • Шаг 2: Возьмите нижний результат значения, которое вы получили после добавления 1/2

Мат.пол(9.26) = 9

  • Шаг 3: Ответ

Math. round(8.76) = 9

Напр. 2 : округление до 1,2

  • Шаг 1: Добавьте 0,5 к плавающему числу.

1,2 + 0,5 = 1,70

  • Шаг 2: Возьмите нижний результат значения, которое вы получили после добавления 1/2

Math.floor(1.70) = 1

  • Шаг 3: Ответ

Мат.раунд(1.2) = 1

а. Синтаксис

б. Параметр Метод Math.round() принимает числа с плавающей запятой, т. е. как типы данных float, так и double, в качестве аргумента/параметра.

в. Возвращает Этот метод возвращает ближайшее целое значение в качестве вывода. Он рассчитывается путем добавления 1/2 к аргументу, а затем принимается во внимание результат.

  • Если аргумент Not a Number(NaN) , этот метод вернет Zero .
  • Если аргумент равен , минус бесконечность или любое значение, меньшее или равное значению Integer.MINVALUE , то функция возвращает Integer.MINVALUE.
  • Если аргумент равен положительной бесконечности или любому значению, большему или равному значению Integer.MAX_VALUE , функция возвращает Integer.MAXVALUE.
  • Если аргументом является положительное или отрицательное число , этот метод вернет ближайшее значение . Выходные данные могут быть оценены выше или ниже переданного аргумента, в зависимости от того, какой из них является ближайшим.

Примечания: Этот метод принимает в качестве аргументов значения типа float и double. В случае аргумента с плавающей запятой тип выходных данных — int. В случае двойного аргумента тип выходных данных длинный.

Короткий трюк: Вы можете запомнить это, используя короткий трюк. Если десятичное значение положительного аргумента больше 0,5, то в качестве вывода будет возвращено ближайшее число, большее аргумента.

Пример: 9,8 округляется до 10,

Если десятичное значение положительного аргумента меньше 0,5, то в качестве выходных данных будет возвращено ближайшее число, меньшее аргумента.

Пример: 9.2 округляется до 9.

Примечание. Описанный выше прием предназначен для чисел +ve, для чисел -ve будет наоборот.

д. Пример

Вывод:

4. Использование формата

Помимо использования класса Math в java, в java есть несколько других способов округления числа. Одним из таких методов является метод format() в java. Этот метод возвращает отформатированную строку в заданном формате. Это один из самых простых способов форматирования вывода в java. Этот метод работает с оператором вывода в java как System.out.format().

Здесь мы можем указать формат вывода, как в языке C. Это делается с помощью %c, %f, %d и т. д. в операторах printf. %f обозначает число с плавающей запятой, и мы можем указать точность десятичного значения, например %.4f, что означает, что вывод должен быть числом с плавающей запятой до 4 знаков после запятой.

В методе java string format() мы можем указать формат, в котором ожидается вывод. Давайте посмотрим, как мы можем использовать этот метод для округления числа с плавающей запятой в java.

Вывод:

В приведенной выше программе метод format() используется для печати заданного числа с плавающей запятой с точностью до 2 знаков после запятой. Этот формат вывода указывается для метода format() в формате .2f. Это означает, что вывод должен иметь до 2 десятичных знаков после точки, а f означает, что нужно печатать число с плавающей запятой.

5. Использование DecimalFormat

DecimalFormat является подклассом класса NumberFormat в java. NumberFormat расширяет класс Format, который является подклассом класса Object в Java. Обратитесь к изображению ниже, чтобы понять иерархию класса DecimalFormat.

Класс java.text.DecimalFormat используется для форматирования значений с плавающей запятой в соответствии с требованиями. Формат ожидаемого вывода задается с помощью шаблонов #.

При создании объекта класса DecimalFormat задается шаблон # , который указывает формат ожидаемого вывода. Например, если задан шаблон #.## , это означает, что данный аргумент должен быть округлен до 2 знаков после запятой. Последний десятичный разряд округляется до большего значения, используя ПОТОЛОК режим RoundingMode .

Вывод:

В приведенной выше программе число num1 округляется с помощью класса DecimalFormat. Формат требуемого вывода объявляется с помощью шаблонов #. #.#### означает, что нам нужно num1 до 4 знаков после запятой. А режим округления, установленный на Потолок, указывает, что последний заданный десятичный разряд должен быть округлен до следующего числа.

Таким образом, 1087.12345567, округленное до 4 знаков после запятой, равно 1087,1234, 4 — это последний знак после запятой, который округляется в режиме CEILING, и оно будет округлено до 5. Следовательно, на выходе будет 1087,1235.

Примечание: Нам нужно импортировать классы DecimalFormat и RoundingMode в java, используя оператор импорта, поскольку они не являются частью пакета Java по умолчанию, который является пакетом java.lang.

Заключение

  • Округление используется для преобразования десятичных значений в целые числа.
  • java.lang.Math Класс имеет Math.ceil(), Math.floor(), Math.round() методов для округления значений с плавающей запятой.
  • Math.ceil() и Math.floor() явно преобразуют десятичное значение в большее и меньшее целое число соответственно.