Java copySign 函数

Java copySign 函数是 Math 库中的一个函数,用于查找第一个参数的绝对值。此 copysign 函数返回绝对值以及第二个参数指定的符号。

Java copySign 函数语法

此编程语言中 Math.copySign 函数的基本语法如下所示

Math.copySign(data_type magnitude, data_type sign);
  • magnitude:请在此处指定幅度值。该函数将查找此参数的绝对值。如果您发现理解绝对值有困难,请参阅 Java abs 方法 文章。
  • sign:请在此处指定符号值。此函数使用此参数的符号(正或负)并返回输出。

例如,如果 magnitude = 10.45 且 sign = – 5.40,则 Math.copySign(10.45, -5.40) = -10.45。这是因为 10.45 的绝对值是 10.45,第二个参数的符号是负数。因此,输出为 -10.45

Java 编程提供了两种不同的 Math.copySign 函数来查找给定两个参数中的最大值或最大值。下面的 copySign 函数将接受正数或负数的双精度值作为第一个和第二个参数,并返回具有第二个参数指定符号的第一个浮点值。

static double copySign(double magnitude,  double sign); //Return Type is double

// In order to use in program: 
Math.copySign(double magnitude,  double sign);

它接受正数或负数的单精度值,并返回具有第二个参数指定符号的第一个浮点值。

static float copySign(float magnitude,  float sign); //Return Type is float

// In order to use in program: 
Math.copySign(float magnitude,  float sign);

Java copySign 函数示例

在此示例中,我们使用 math.copySign 函数来查找不同数据类型的绝对值,并显示带有符号的输出。

package MathFunctions;

public class CopySign {
	public static void main(String[] args) {
		double b = 10.9666, c = 14.6674, d = -9.474, e = -14.9865;
		float g = 1.23f, h = 4.809f, i = -7.89f, j = -6.54f;
		
		System.out.println("CopySign result of Positive Values: " + Math.copySign(10, 20));
		System.out.println("CopySign result of Negative Values: " + Math.copySign(-10, -20));
		System.out.println("CopySign result of both Positive & Negative Values: " + Math.copySign(10, -20));
		System.out.println("CopySign result of both Positive & Negative Values: " + Math.copySign(-5, 10));
		
		System.out.println("\nCopySign result of Positive Doubles: " + Math.copySign(b, c));
		System.out.println("CopySign result of Negative Double Values: " + Math.copySign(d, e));
		System.out.println("CopySign result of both Positive & Negative Double Values: " + Math.copySign(c, d));
		System.out.println("CopySign result of both Positive & Negative Double Values: " + Math.copySign(e, b));
		
		System.out.println("\nCopySign result of Positive Float Values: " + Math.copySign(g, h));
		System.out.println("CopySign result of Negative Float Values: " + Math.copySign(i, j));
		System.out.println("CopySign result of both Positive & Negative Float Values: " + Math.copySign(h, i));
		System.out.println("CopySign result of both Positive & Negative Float Values: " + Math.copySign(j, h));
	}
}
Java copySign Function Example

我们直接对正数和负数使用了 Math.copySign 函数。

System.out.println("CopySign result of Positive Values: " + Math.copySign(10, 20));
System.out.println("CopySign result of Negative Values: " + Math.copySign(-10, -20));
System.out.println("CopySign result of both Positive & Negative Values: " + Math.copySign(10, -20));
System.out.println("CopySign result of both Positive & Negative Values: " + Math.copySign(-5, 10));

接下来,我们将 Java 函数用于变量 b、c、d 和 e(它们属于双精度类型)。以下语句将调用双精度类型的方法(static double copySign(double magnitude, double sign))来显示结果。

System.out.println("\nCopySign result of Positive Doubles: " + Math.copySign(b, c));
System.out.println("CopySign result of Negative Double Values: " + Math.copySign(d, e));
System.out.println("CopySign result of both Positive & Negative Double Values: " + Math.copySign(c, d));
System.out.println("CopySign result of both Positive & Negative Double Values: " + Math.copySign(e, b));

接下来,我们将 Math 函数用于变量 g、h、i 和 j(它们属于单精度类型)。以下语句调用单精度类型的方法(static float copySign(float magnitude, float sign))来显示结果。

System.out.println("\nCopySign result of Positive Float Values: " + Math.copySign(g, h));
System.out.println("CopySign result of Negative Float Values: " + Math.copySign(i, j));
System.out.println("CopySign result of both Positive & Negative Float Values: " + Math.copySign(h, i));
System.out.println("CopySign result of both Positive & Negative Float Values: " + Math.copySign(j, h));