将浮点数转换为整数而不用bash中的舍入

时间:2015-02-10 16:46:59

标签: bash scripting floating-point int

我有一个带有2.45, 3.56, 54,64等浮点数的输入文件,依此类推。我需要总结一下。

在阅读了这篇article后,我明白没有直接的方法可以做到这一点。我无法绕过任何数字。

我记得有一种方法可以转换为int而不进行舍入。像2.54 * 100 = 254.之后,我可以完成所有数学并使用AWK将其返回浮动视图。

我试图使用bc工具,但它不会这样工作。

喜欢,(错误的代码)

a=2.54 
c=$((a * 100)) | bc -l 

请建议

不重复,因为: 我问并希望将浮点数转换为整数,而不是比较2个浮点数。我需要对它进行总结,它与对比不同。此外,这个问题在我的问题上没有回答。 这里要问的是获得特定问题的最接近答案。

1 个答案:

答案 0 :(得分:0)

你可以使用awk,

$ echo '2.45, 3.56, 54,64' | awk -v FS=" *, *" '{for(i=1;i<=NF;i++){count = count+$i}}END{print count}'
124.01