Math.Ceiling Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve o menor valor integral maior ou igual ao número especificado.
Sobrecargas
| Name | Description |
|---|---|
| Ceiling(Decimal) |
Devolve o menor valor integral que seja maior ou igual ao número decimal especificado. |
| Ceiling(Double) |
Devolve o menor valor integral que seja maior ou igual ao número de ponto flutuante de dupla precisão especificado. |
Observações
O comportamento deste método segue a Norma IEEE 754, secção 4. Este tipo de arredondamento é por vezes chamado arredondamento em direção ao infinito positivo.
Ceiling(Decimal)
Devolve o menor valor integral que seja maior ou igual ao número decimal especificado.
public:
static System::Decimal Ceiling(System::Decimal d);
public static decimal Ceiling(decimal d);
static member Ceiling : decimal -> decimal
Public Shared Function Ceiling (d As Decimal) As Decimal
Parâmetros
- d
- Decimal
Um número decimal.
Devoluções
O menor valor integral que seja maior ou igual a d. Note-se que este método devolve um Decimal em vez de um tipo inteiro.
Exemplos
O exemplo seguinte ilustra o Math.Ceiling(Decimal) método e contrasta-o com o Floor(Decimal) próprio.
decimal[] values = {7.03m, 7.64m, 0.12m, -0.12m, -7.1m, -7.6m};
Console.WriteLine(" Value Ceiling Floor\n");
foreach (decimal value in values)
Console.WriteLine("{0,7} {1,16} {2,14}",
value, Math.Ceiling(value), Math.Floor(value));
// The example displays the following output to the console:
// Value Ceiling Floor
//
// 7.03 8 7
// 7.64 8 7
// 0.12 1 0
// -0.12 0 -1
// -7.1 -7 -8
// -7.6 -7 -8
// The ceil and floor functions may be used instead.
let values =
[ 7.03m; 7.64m; 0.12m; -0.12m; -7.1m; -7.6m ]
printfn " Value Ceiling Floor\n"
for value in values do
printfn $"{value,7} {Math.Ceiling value,16} {Math.Floor value,14}"
// The example displays the following output to the console:
// Value Ceiling Floor
//
// 7.03 8 7
// 7.64 8 7
// 0.12 1 0
// -0.12 0 -1
// -7.1 -7 -8
// -7.6 -7 -8
Dim values() As Decimal = {7.03d, 7.64d, 0.12d, -0.12d, -7.1d, -7.6d}
Console.WriteLine(" Value Ceiling Floor")
Console.WriteLine()
For Each value As Decimal In values
Console.WriteLine("{0,7} {1,16} {2,14}", _
value, Math.Ceiling(value), Math.Floor(value))
Next
' The example displays the following output to the console:
' Value Ceiling Floor
'
' 7.03 8 7
' 7.64 8 7
' 0.12 1 0
' -0.12 0 -1
' -7.1 -7 -8
' -7.6 -7 -8
Observações
O comportamento deste método segue a Norma IEEE 754, secção 4. Este tipo de arredondamento é por vezes chamado arredondamento em direção ao infinito positivo. Por outras palavras, se d for positivo, a presença de qualquer componente fracionária faz d com que seja arredondado para o próximo número inteiro mais alto. Se d for negativo, a operação de arredondamento faz com que qualquer componente fracionário de d seja descartado. O funcionamento deste método difere do Floor(Decimal) método, que suporta arredondamento para o infinito negativo.
Ver também
Aplica-se a
Ceiling(Double)
Devolve o menor valor integral que seja maior ou igual ao número de ponto flutuante de dupla precisão especificado.
public:
static double Ceiling(double a);
public static double Ceiling(double a);
static member Ceiling : double -> double
Public Shared Function Ceiling (a As Double) As Double
Parâmetros
- a
- Double
Um número de ponto flutuante de dupla precisão.
Devoluções
O menor valor integral que seja maior ou igual a a. Se a for igual a NaN, NegativeInfinity, ou PositiveInfinity, esse valor é devolvido. Note-se que este método devolve um Double em vez de um tipo inteiro.
Exemplos
O exemplo seguinte ilustra o Math.Ceiling(Double) método e contrasta-o com o Floor(Double) próprio.
double[] values = {7.03, 7.64, 0.12, -0.12, -7.1, -7.6};
Console.WriteLine(" Value Ceiling Floor\n");
foreach (double value in values)
Console.WriteLine("{0,7} {1,16} {2,14}",
value, Math.Ceiling(value), Math.Floor(value));
// The example displays the following output to the console:
// Value Ceiling Floor
//
// 7.03 8 7
// 7.64 8 7
// 0.12 1 0
// -0.12 0 -1
// -7.1 -7 -8
// -7.6 -7 -8
// The ceil and floor functions may be used instead.
let values =
[ 7.03; 7.64; 0.12; -0.12; -7.1; -7.6 ]
printfn " Value Ceiling Floor\n"
for value in values do
printfn $"{value,7} {Math.Ceiling value,16} {Math.Floor value,14}"
// The example displays the following output to the console:
// Value Ceiling Floor
//
// 7.03 8 7
// 7.64 8 7
// 0.12 1 0
// -0.12 0 -1
// -7.1 -7 -8
// -7.6 -7 -8
Dim values() As Double = {7.03, 7.64, 0.12, -0.12, -7.1, -7.6}
Console.WriteLine(" Value Ceiling Floor")
Console.WriteLine()
For Each value As Double In values
Console.WriteLine("{0,7} {1,16} {2,14}", _
value, Math.Ceiling(value), Math.Floor(value))
Next
' The example displays the following output to the console:
' Value Ceiling Floor
'
' 7.03 8 7
' 7.64 8 7
' 0.12 1 0
' -0.12 0 -1
' -7.1 -7 -8
' -7.6 -7 -8
Observações
O comportamento deste método segue a Norma IEEE 754, secção 4. Este tipo de arredondamento é por vezes chamado arredondamento em direção ao infinito positivo. Por outras palavras, se a for positivo, a presença de qualquer componente fracionária faz a com que seja arredondado para o próximo número inteiro mais alto. Se a for negativo, a operação de arredondamento faz com que qualquer componente fracionário de a seja descartado. O funcionamento deste método difere do Floor(Double) método, que suporta arredondamento para o infinito negativo.
A partir de Visual Basic 15.8, o desempenho da conversão de Duplo para inteiro é otimizado se passar o valor devolvido pelo método Ceiling para qualquer uma das funções de conversão integral, ou se o valor Duplo devolvido por Ceiling for automaticamente convertido num inteiro com Opção Estrito definido para Desligado. Essa otimização permite que o código seja executado mais rapidamente -- até duas vezes mais rápido para o código que faz um grande número de conversões para tipos inteiros. O exemplo seguinte ilustra essas conversões otimizadas:
Dim d1 As Double = 1043.75133
Dim i1 As Integer = CInt(Math.Ceiling(d1)) ' Result: 1044
Dim d2 As Double = 7968.4136
Dim i2 As Integer = CInt(Math.Ceiling(d2)) ' Result: 7969