在 AWK 中将参数转换为浮点数
Converting a parameter to a floating point number in AWK
我的代码运行良好:
time1=23245321;
ratio=0.9761;
time1=int(time1*ratio);
但是当我将 'ratio' 变量转换为使用 -v 选项传递给脚本的参数时,我发现它不起作用 - time1 结果等于 0(零)。
awk -f script.awk -v 比率=0.9761
似乎比率不再被视为浮点数。我该如何解决这个问题?
这在我的机器上运行良好:
awk -v ratio=0.9761 '{
time1=23245321;
time1=int(time1*ratio);
print ratio,time1}' <(echo "Hello world!")
它returns:
0.9761 22689757
这只是一个 'locale' 问题:我应该使用
调用脚本
awk -f script.awk -v ratio=0,9761
因为逗号是我笔记本电脑上的小数点分隔符
我的代码运行良好:
time1=23245321;
ratio=0.9761;
time1=int(time1*ratio);
但是当我将 'ratio' 变量转换为使用 -v 选项传递给脚本的参数时,我发现它不起作用 - time1 结果等于 0(零)。
awk -f script.awk -v 比率=0.9761
似乎比率不再被视为浮点数。我该如何解决这个问题?
这在我的机器上运行良好:
awk -v ratio=0.9761 '{
time1=23245321;
time1=int(time1*ratio);
print ratio,time1}' <(echo "Hello world!")
它returns:
0.9761 22689757
这只是一个 'locale' 问题:我应该使用
调用脚本awk -f script.awk -v ratio=0,9761
因为逗号是我笔记本电脑上的小数点分隔符