2015-04-19 2 views
0

У меня есть этот код, который работает отлично:Преобразование параметр в число с плавающей точкой в ​​AWK

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

, но я не работать, когда я преобразовать переменную «отношение» к параметру передается в сценарий с параметром -v - результат time1 равен 0 (ноль).

AWK -f script.awk -v отношение = 0,9761

Кажется, отношение больше не рассматривается как число с плавающей точкой. Как я могу решить эту проблему?

+1

Что содержит script.awk? –

ответ

1

Это был просто 'языковой' вопрос: я должен был назвать сценарий, используя

awk -f script.awk -v ratio=0,9761 

, потому что запятая является десятичным разделителем на моем ноутбуке

+1

Вы можете просто установить 'LC_ALL = C', а затем использовать свой оригинальный скрипт. –

1

Это прекрасно работает на моей машине:

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

Она возвращает:

0.9761 22689757 
Смежные вопросы