Jmeter-Beanshell - 如何将价格值四舍五入

时间:2017-12-07 08:40:22

标签: jmeter

如何在bean shell中舍入价格值? 例如:902.7 TO 903 OR 902.0至902

我写了下面的代码,但它只是从代码中取出.00,即。如果有92.00,它将删除.00。但如果有92.37,它根本不会改变

String priceAdder(String Price,double per)
{
      prcv= Float.parseFloat(Price);
      prec=per*1/100;
      prec=prcv*prec;
      if(prec>95.00)
      {
          prec=95.00;
      }
      price=prcv+prec;
      price=price.toString();
      String[] ppr=price.split("\\.");
      if(ppr[1].length()==1)
      { 
          ppr[1]=ppr[1]+"0";
          price=ppr[0]+"."+ppr[1];
      }
      else
      {    //System.out.println("The value ppr[1]:"+ppr[1]);
         if(Character.getNumericValue(ppr[1].charAt(2))>=5)
         {
            Integer tadd=Integer.parseInt(ppr[1].substring(0,2))+1;
            if(tadd.toString().length()==1)
            {
                tad="0"+tadd.toString();
             }else{
                tad=tadd.toString();
             }
              price=ppr[0]+"."+tad.toString();
         }
         else
         {
            price=ppr[0]+"."+ppr[1].substring(0,2);
         }
      // price=ppr[0]+"."+ppr[1].substring(0,2);
}
 return price.toString();
}

1 个答案:

答案 0 :(得分:0)

类似的东西:

originalPrice = Double.parseDouble(price);
roundedPrice = Math.round(originalPrice);
return String.valueOf(roundedPrice);

应将您的价格四舍五入到最接近的整数。有关更多信息,请参阅Math.round() JavaDoc。

演示:

JMeter Round Number Beanshell

请注意,从JMeter 3.1 it is recommended to use JSR223 Elements and Groovy language开始处理任何形式的脚本,请考虑在下次可用商机时迁移到JSR223 Test Elements