AWK 中的 算术函数

首页 / Awk入门教程 / AWK 中的 算术函数

AWK具有以下内置算术函数-

atan2(y,x) 反正切

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

[Learnfk]$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
}'

在执行此代码时,您将获得以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-arithmetic-functions.html

来源:LearnFk无涯教程网

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

cos(expre) 余弦

此函数返回 expr 的余弦,以弧度表示。以下示例演示了这一点-

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

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

在执行此代码时,您将获得以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-arithmetic-functions.html

来源:LearnFk无涯教程网

The cosine of 60.000000 degrees is 0.500000.

exp(expr) 指数

此函数用于查找变量的指数值。

[Learnfk]$awk 'BEGIN {
   param=5
   result=exp(param);
   
   printf "The exponential value of %f is %f.\n", param, result
}'

在执行此代码时,您将获得以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-arithmetic-functions.html

来源:LearnFk无涯教程网

The exponential value of 5.000000 is 148.413159.

int(expr) 整数

此函数将 expr 截断为整数值。以下示例演示了这一点-

[Learnfk]$awk 'BEGIN {
   param=5.12345
   result=int(param)
   
   print "Truncated value =", result
}'

在执行此代码时,您将获得以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-arithmetic-functions.html

来源:LearnFk无涯教程网

Truncated value=5

log(expr) 对数

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

[Learnfk]$awk 'BEGIN {
   param=5.5
   result=log (param)
   
   printf "log(%f)=%f\n", param, result
}'

在执行此代码时,您将获得以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-arithmetic-functions.html

来源:LearnFk无涯教程网

log(5.500000)=1.704748

rand 随机数

此函数返回0到1之间的随机数N,使得0 <= N <1。例如,下面的示例生成三个随机数

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

在执行此代码时,您将获得以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-arithmetic-functions.html

来源:LearnFk无涯教程网

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

sin(expr) 正弦值

此函数返回 expr 的正弦值,以弧度表示。以下示例演示了这一点-

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

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

在执行此代码时,您将获得以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-arithmetic-functions.html

来源:LearnFk无涯教程网

The sine of 30.000000 degrees is 0.500000.

sqrt(expr) 平方根

此函数返回 expr 的平方根。

[Learnfk]$awk 'BEGIN {
   param=1024.0
   result=sqrt(param)
   
   printf "sqrt(%f)=%f\n", param, result
}'

在执行此代码时,您将获得以下输出-

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-arithmetic-functions.html

来源:LearnFk无涯教程网

sqrt(1024.000000)=32.000000

srand([expr]) 随机数

此函数使用种子值生成一个随机数。它使用 expr 作为随机数生成器的新种子。在没有expr的情况下,它将一天中的时间用作种子值。

[Learnfk]$awk 'BEGIN {
   param=10
   
   printf "srand()=%d\n", srand()
   printf "srand(%d)=%d\n", param, srand(param)
}'

在执行此代码时,您得到以下输出-

srand()=1
srand(10)=1417959587

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

研发效率破局之道 -〔葛俊〕

移动端自动化测试实战 -〔思寒〕

RPC实战与核心原理 -〔何小锋〕

用户体验设计实战课 -〔相辉〕

爱上跑步 -〔钱亮〕

流程型组织15讲 -〔蒋伟良〕

全链路压测实战30讲 -〔高楼〕

大厂设计进阶实战课 -〔小乔〕

AI绘画核心技术与实战 -〔南柯〕

好记忆不如烂笔头。留下您的足迹吧 :)