在 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

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