在AWK中将参数转换为浮点数

时间:2015-04-19 20:31:45

标签: awk floating-point

我有这个代码可以正常工作:

time1=23245321;
ratio=0.9761;
time1=int(time1*ratio);

但是当我改变比率时,我认为它不起作用。使用-v选项传递给脚本的参数的变量 - time1结果等于0(零)。

awk -f script.awk -v ratio = 0.9761

似乎比率不再被视为浮动。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

这在我的机器上工作正常:

awk -v ratio=0.9761 '{
time1=23245321;
time1=int(time1*ratio);
print ratio,time1}' <(echo "Hello world!")

它返回:

0.9761 22689757

答案 1 :(得分:1)

这只是一个“语言环境”问题:我应该使用

调用脚本
awk -f script.awk -v ratio=0,9761

因为逗号是我笔记本电脑上的小数分隔符