Пакет 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
Double
: BigDecimal.decimal(0.1) == 0.1
. Обратите внимание, что, поскольку 0.1f != 0.1
, это не относится к Float
. Вместо этого 0.1f == BigDecimal.decimal((0.1f).toDouble)
.Чтобы проверить, можно ли преобразовать число BigDecimal
в Double
или Float
, а затем обратно без потери информации с помощью одного из этих методов, проверьте с помощью isDecimalDouble
,
или isExactDouble
или соответствующих версий Float
. Обратите внимание , что BigInt
«s isValidDouble
согласятся с isExactDouble
, не isDecimalDouble
используется по умолчанию.
BigDecimal
использует десятичное представление двоичных чисел с плавающей запятой для определения равенства и хэш-кодов. Это дает разные ответы, чем преобразование между значениями Long
и Double
, где используется точная форма. Как всегда, поскольку числа с плавающей запятой представляют собой представление с потерями, рекомендуется соблюдать осторожность, предполагая, что идентичность будет сохраняться при нескольких преобразованиях.
BigDecimal
поддерживает MathContext
, который определяет округление, применяемое к определенным вычислениям. В большинстве случаев значение BigDecimal
также округляется до точности, указанной в MathContext
. Чтобы создать BigDecimal
с точностью, отличной от его MathContext
, используйте new BigDecimal(new java.math.BigDecimal(...), mc)
. Округление будет применяться к тем математическим операциям, которые могут резко изменить количество цифр в полном представлении, а именно к умножению, делению и степеням.
левого аргументавсегда определяет степень округления, если таковая имеется, и распространяется с помощью арифметических операций, которые сами по себе не применяют округление.
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]
вы должны предоставить его самостоятельно либо при наследовании, либо при создании экземпляра.
Важно, чтобы метод 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Аттестат о среднем (полном) общем образовании — это документ, удостоверяющий получение среднего школьного образования в России и многих странах Европы.
youtube.com/embed/Hh5VCRKjSAI»>Как получить аттестат в 2023 году
Для получения аттестата после 9-го класса необходимо получить положительные годовые оценки (выше «двойки») по всем школьным предметам с 5 по 9 класс. Кроме того, после внедрения ОГЭ в качестве этапа контроля знаний учащихся аттестат можно получить только после успешной сдачи четырех экзаменов: двух обязательных (русский язык и математика) и двух по выбору.
Успешная сдача ОГЭ подразумевает получение минимально допустимого (проходного) первичного балла по каждой из дисциплин, включая дополнительные (по выбору).
Какие оценки идут в аттестат после девятого класса
В аттестате вы увидите список всех предметов, которые вы изучали в средней школе в соответствии с учебным планом. Сами оценки ставят по следующим принципам:
- По русскому языку, математике и двум выбранным вами дисциплинам (по которым вы сдаете ОГЭ) оценка в аттестате является средним арифметическим результатом экзамена и годовой оценки по предмету. Например, если по физике за год вы получили «пять», но вторичная оценка за экзамен «четыре», то оценка в аттестате будет (5+4)/2 = 4,5, округление до целого числа происходит по арифметическим правилам.
- По дисциплинам, завершившимся в девятом классе, балл в аттестате соответствует годовой оценке.
- По дисциплинам, завершившимся до девятого класса, балл в аттестате соответствует последней годовой оценке.
Четвертные оценки не влияют на оценку в аттестате
Также в аттестат могут пойти оценки за факультативные и элективные курсы. В этом случае действуют следующие правила:
- если курс рассчитан менее чем на 64 часа за два года, то результаты будут отражены в разделе «Дополнительные сведения» аттестата;
- если курс рассчитан более чем на 64 часа за два года, то оценка по нему может быть выставлена вместе с основными дисциплинами.
Аттестат особого образца
Чтобы получить красный аттестат, нужно выполнить следующие условия:
- Набрать «проходной» (минимальный первичный) балл по каждой дисциплине, которую вы сдаете в формате ОГЭ.
- Написать ОГЭ без пересдач.
- Иметь «отлично» по всем дисциплинам, которые изучаются с 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() явно преобразуют десятичное значение в большее и меньшее целое число соответственно.