• AWKRound函数


       下午朋友对我说“awk中怎么计算某列的值为四舍五入”;我们知道awk中是没有round函数;那样怎么样达到四舍五入的效果呢?我当时就想就写一个自定义函数吧!正好练习下最近学习的awk语言!

     

    function round(a){
     b=int(a);
     c=a*10;
     d=b*10+5;
     if (c>=d)
     {
      e=b+1;
     }
     else{
     e=b; 
     }
     return e;
    }

       测验这个函数;round.awk

    function round(a){
     b=int(a);
     c=a*10;
     d=b*10+5;
     e=(c>=d)?(b+1):b;
     return e;
    }
    {
     print round(3.25),round(3.5),round(4.6),round(5.1);
    }

    预期结果应该是3,4,5,5

    运行的代码是 echo aebcd | awk -f round.awk

    测试结果是  3,4,5,5

      后来查看资料还可以这样实现;利用printf函数
      例如:echo adf | awk '{printf("%0.f\n",3.25)}'  结果也是3;也可以达到效果!


     


  • 相关阅读:
    JAVA-类加载机制(2)-类加载的过程
    JAVA-类加载机制(1)-生命周期
    StarUML-详解
    JMS-mq-发布/订阅
    JMS-mq-点对点
    Spring-Transcation
    Session-Hibernate
    Session
    Git配置
    Maven配置
  • 原文地址:https://www.cnblogs.com/lottu/p/3131400.html
Copyright © 2020-2023  润新知