有时我得到浮动数字,如3.49或4.8等
所以我需要根据以下规则将浮点数转换为整数的数字(示例)
3.49 will be 32.9 will be 34.1 will be 423.51 will be 24982.4999 will be 98210.5 will be 11 ( this example if float is .5 then it will roundup )
请建议如何在ksh或awk或perl中执行此 *** 作
要么
可以在我的ksh脚本中运行的任何其他语言
解决方法 在简短的谷歌会话之后,我发现printf似乎能够完成这项工作,至少在bash中找不到(无法找到一个执行ksh的在线翻译).printf "%0.f\n" 4.515printf "%0.f\n" 4.494
代码:http://ideone.com/nEFYF
注意:perl可能有点矫枉过正,就像Marius所说,但这是一种perl方式:
perl模块Math::Round似乎处理这项工作.
一内胆:
perl -MMath::Round -we 'print round $ARGV[0]' 12.49
脚本:
use v5.10;use Math::Round;my @List = (3.49,2.9,4.1,23.51,982.4999);say round $_ for @List;
脚本输出:
33424982总结
以上是内存溢出为你收集整理的linux ksh向下舍入或向上舍入 – 浮点数全部内容,希望文章能够帮你解决linux ksh向下舍入或向上舍入 – 浮点数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)