El método log10(long x, modo RoundingMode) de la clase LongMath de Guava acepta dos parámetros y calcula el valor logarítmico en base 10 del primer parámetro redondeado según el modo de redondeo especificado por el segundo parámetro.
Sintaxis:
public static int log10(long x, RoundingMode mode)
Parámetros: El método toma 2 parámetros:
- x es el valor largo del que se va a encontrar el registro.
- mode es el modo de redondeo especificado.
Valor devuelto: este método devuelve el logaritmo en base 10 de x, redondeado según el modo de redondeo especificado.
Excepciones: este método arroja los siguientes parámetros:
- IllegalArgumentException: si el valor x es 0 o un valor negativo.
- ArithmeticException: si el modo es RoundingMode.UNNECESSARY y x no es una potencia de diez.
Modo de redondeo de enumeración
Constante de enumeración | Descripción |
---|---|
TECHO | Modo de redondeo para redondear hacia el infinito positivo. |
ABAJO | Modo de redondeo para redondear hacia cero. |
PISO | Modo de redondeo para redondear hacia el infinito negativo. |
HALF_DOWN | Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia abajo. |
HALF_EVEN | Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso, redondear hacia el vecino par. |
HALF_UP | Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia arriba. |
INNECESARIO | Modo de redondeo para afirmar que la operación solicitada tiene un resultado exacto, por lo que no es necesario redondear. |
ARRIBA | Modo de redondeo para redondear desde cero. |
A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:
Ejemplo 1:
// Java code to show implementation of // log10(long x, RoundingMode mode) method // of Guava's LongMath class import java.math.RoundingMode; import com.google.common.math.LongMath; class GFG { // Driver code public static void main(String args[]) { long a1 = 10000; // Using log10(long x, RoundingMode mode) // method of Guava's LongMath class // The RoundingMode HALF_EVEN rounds towards // the "nearest neighbor" unless both neighbors // are equidistant, in which case, round towards // the even neighbor. System.out.println( LongMath.log10( a1, RoundingMode.HALF_EVEN)); long a2 = 15; // Using log10(long x, RoundingMode mode) // method of Guava's LongMath class // The RoundingMode HALF_DOWN rounds towards // "nearest neighbor" unless both neighbors // are equidistant, in which case round down. System.out.println( LongMath.log10(a2, RoundingMode.HALF_DOWN)); } }
Producción :
4 1
Ejemplo 2:
// Java code to show implementation of // log10(long x, RoundingMode mode) method // of Guava's LongMath class import java.math.RoundingMode; import com.google.common.math.LongMath; class GFG { static int findlog10(long x, RoundingMode mode) { try { // Using log10(long x, RoundingMode mode) // method of Guava's LongMath class // The RoundingMode HALF_EVEN rounds towards // the "nearest neighbor" unless both neighbors // are equidistant, in which case, round towards // the even neighbor. // This should throw "IllegalArgumentException" // as x <= 0 int ans = LongMath.log10(x, mode); // Return the answer return ans; } catch (Exception e) { System.out.println(e); return -1; } } // Driver code public static void main(String args[]) { long x = -122; try { // Function calling findlog10(x, RoundingMode.HALF_EVEN); } catch (Exception e) { System.out.println(e); } } }
Producción :
java.lang.IllegalArgumentException: x (-122) must be > 0
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA