Java/Velocity/MathTool

Материал из Java эксперт
Перейти к: навигация, поиск

Math tool: round to a given integer

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


4.45678 rounded to 3 places is $math.roundTo(3, "4.45678")

      </source>
   
  
 
  



Reference Class method in Mathtool

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import java.util.ArrayList; import java.util.Collection; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class ProductList {

   public static void main(String[] args) throws Exception {
       Velocity.init();
       Template t = Velocity.getTemplate("./src/calculation.vm");
       VelocityContext ctx = new VelocityContext();
      
       Collection products = new ArrayList();
       products.add(new Product("Product 1", 112.199));
       products.add(new Product("Product 2", 113.991));
       products.add(new Product("Product 3", 111.919));
       ctx.put("productList", products);
       ctx.put("math", new MathTool());
       Writer writer = new StringWriter();
       t.merge(ctx, writer);
       System.out.println(writer);
   }

}

public class Product {

   private String name;
   private double price;
   
   public Product(String aName, double aPrice) {
       name = aName;
       price = aPrice;
   }
   
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
   public double getPrice() {
       return price;
   }
   public void setPrice(double price) {
       this.price = price;
   }

}


  1. set($totalPrice = 0)
  2. foreach($product in $productList)
 $product.Name    $$product.Price
 #set($totalPrice = $math.add($totalPrice, $product.Price))
  1. end

Total Price: $$totalPrice

      </source>
   
  
 
  



Velocity MathTool: Add

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


$math.random is a random number

      </source>
   
  
 
  



Velocity MathTool Divide

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


$aNumber / 3.2 = $math.div($aNumber, "3.2")

      </source>
   
  
 
  



Velocity MathTool: Maximun

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


The maximum of $aNumber and 3.2 is $math.max($aNumber, "3.2")

      </source>
   
  
 
  



Velocity MathTool Minimum

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


The minimum of $aNumber and 3.2 is $math.min($aNumber, "3.2")

      </source>
   
  
 
  



Velocity MathTool: Multiply

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


$aNumber * 3.2 = $math.mul($aNumber, "3.2")

      </source>
   
  
 
  



Velocity Math Tool: Power

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


$aNumber ^ 3.2 = $math.pow($aNumber, "3.2")

      </source>
   
  
 
  



Velocity Math Tool Random

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


$math.random is a random number

      </source>
   
  
 
  



Velocity MathTool Random Between

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


$math.random(1, 20) is a random number between 1 and 20

      </source>
   
  
 
  



Velocity Math Tool Round To Integer

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


4.45678 rounded to the nearest integer is $math.roundToInt("4.45678")

      </source>
   
  
 
  



Velocity Math Tool: Subtract

   <source lang="java">

import java.io.StringWriter; import java.io.Writer; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.generic.MathTool; public class MathToolExample {

 public static void main(String[] args) throws Exception {
   Velocity.init();
   Template t = Velocity.getTemplate("./src/mathTool.vm");
   VelocityContext ctx = new VelocityContext();
   ctx.put("math", new MathTool());
   ctx.put("aNumber", new Double(5.5));
   Writer writer = new StringWriter();
   t.merge(ctx, writer);
   System.out.println(writer);
 }

}


$aNumber - 3.2 = $math.sub($aNumber, "3.2")

      </source>