算术函数

数值计算

atan2(y, x)
返回 y/x 的反正切

cos(expr) 计算expr的余弦,返回的是弧度值

sin(expr)
计算expr的正弦,返回的是弧度值

exp(expr)
计算expr的幂函数

log(expr)
计算expr的自然对数

sqrt(expr)
计算expr的平方根

int(expr)
返回expr的整数部分,小数部分丢弃

例程如下:

chapter_4_1-1.awk

BEGIN{
}
{
    # 不进行四舍五入,小数部分直接舍弃
    print(int(3.14));
    print(int(1.56));
}
END{
}

$echo ""|awk -f chapter_4_1-1.awk
3
1

其中的int()只是截取数组的整数部分。

随机数

rand()
返回一个随机数,范围: [0 , 1)

srand([expr])
将expr设置为随机数种子,缺省情况下使用当前时间戳 返回值是之前的随机数种子值

随机数函数使用的时候要注意的是程序启动时应该设置本次的随机数种子。

chapter_4_1-2.awk

BEGIN{
}
{
        # 获取随机数,在不设置种子的情况下可以看见每次运行结果相同
        print(rand());
        print(rand());

        # 设置随机数种子后再获取随机数可以看见每次运行值都不同
        print(srand());
        print(rand());
        print(rand());
        print(srand(100));
        print(srand(200));
}
END{
}

$echo ""|awk -fchapter_4_1-2.awk
0.237788
0.291066
1
0.279512
0.355043
1437811128
100

results matching ""

    No results matching ""