AWK 算术函数

AWK 算术函数

AWK有以下内置的算术函数 –

atan2(y, x)

它以弧度的形式返回(y/x)的反正切。以下示例演示了这一点 –

示例

[jerry]$ awk 'BEGIN {
   PI = 3.14159265
   x = -10
   y = 10
   result = atan2 (y,x) * 180 / PI;

   printf "The arc tangent for (x=%f, y=%f) is %f degrees\n", x, y, result
}'

在执行这段代码时,你将获得以下结果 −

输出

The arc tangent for (x=-10.000000, y=10.000000) is 135.000000 degrees

cos(expr)

该函数返回 expr 的余弦值,该值使用弧度表示。以下示例演示了使用方法−

示例

[jerry]$ awk 'BEGIN {
   PI = 3.14159265
   param = 60
   result = cos(param * PI / 180.0);

   printf "The cosine of %f degrees is %f.\n", param, result
}'

执行此代码后,你将得到以下结果 −

输出

The cosine of 60.000000 degrees is 0.500000.

exp(expr)

此函数用于计算变量的指数值。

示例

[jerry]$ awk 'BEGIN {
   param = 5
   result = exp(param);

   printf "The exponential value of %f is %f.\n", param, result
}'

执行此代码,将得到以下结果−

输出

The exponential value of 5.000000 is 148.413159.

int(expr)

此函数将 expr 截断为整数值。下面的示例演示了此功能−

[jerry]$ awk 'BEGIN {
   param = 5.12345
   result = int(param)

   print "Truncated value =", result
}'

在执行此代码时,您将得到以下结果−

Truncated value = 5

log(expr)

此函数计算变量的自然对数。

示例

[jerry]$ awk 'BEGIN {
   param = 5.5
   result = log (param)

   printf "log(%f) = %f\n", param, result
}'

在执行这段代码时,您将得到以下结果:

输出

log(5.500000) = 1.704748

rand

该函数返回一个随机数N,介于0和1之间,满足0 <= N < 1。例如,以下示例生成三个随机数

示例

[jerry]$ awk 'BEGIN {
   print "Random num1 =" , rand()
   print "Random num2 =" , rand()
   print "Random num3 =" , rand()
}'

执行此代码后,您将获得以下结果−

Random num1 = 0.237788
Random num2 = 0.291066
Random num3 = 0.845814

sin(expr)

此函数返回一个数的正弦值,该数以弧度表示。下面的示例演示了这个函数的使用方法−

示例

[jerry]$ awk 'BEGIN {
   PI = 3.14159265
   param = 30.0
   result = sin(param * PI /180)

   printf "The sine of %f degrees is %f.\n", param, result
}'

执行此代码时,您将获得以下结果-

输出

The sine of 30.000000 degrees is 0.500000.

sqrt(expr)

此函数返回 expr 的平方根。

示例

[jerry]$ awk 'BEGIN {
   param = 1024.0
   result = sqrt(param)

   printf "sqrt(%f) = %f\n", param, result
}'

执行该代码后,你会得到以下结果:

输出

sqrt(1024.000000) = 32.000000

srand([seed])

该函数使用种子值生成一个随机数。它将 seed 作为随机数生成器的新种子。如果没有提供种子值,则使用当天的时间作为种子值。

示例

[jerry]$ awk 'BEGIN {
   param = 10

   printf "srand() = %d\n", srand()
   printf "srand(%d) = %d\n", param, srand(param)
}'

执行此代码后,您将获得以下结果−

输出

srand() = 1
srand(10) = 1417959587

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程