类 NumberTool


@DefaultKey("number") public class NumberTool extends FormatConfig
Tool for working with Number in Velocity templates. It is useful for accessing and formatting arbitrary Number objects. Also the tool can be used to retrieve NumberFormat instances or make conversions to and from various number types.

 Example uses:
  $myNumber                            -> 13.55
  $number.format($myNumber)   -> 13.6
  $number.currency($myNumber) -> $13.55
  $number.integer($myNumber)  -> 13

 Example tools.xml config (if you want to use this with VelocityView):
 <tools>
   <toolbox scope="application">
     <tool class="org.apache.velocity.tools.generic.MathTool"/>
   </toolbox>
 </tools>
 

This tool is entirely threadsafe, and has no instance members. It may be used in any scope (request, session, or application). As such, the methods are highly interconnected, and overriding key methods provides an easy way to create subclasses that use a non-default format or locale.

从以下版本开始:
VelocityTools 1.2
版本:
$Id: NumberTool.java 671008 2008-06-24 03:37:33Z nbubna $
作者:
Nathan Bubna, Mike Kienenberger
  • 字段详细资料

  • 构造器详细资料

    • NumberTool

      public NumberTool()
  • 方法详细资料

    • format

      public String format(Object obj)
      Converts the specified object to a number and formats it according to the pattern or style returned by FormatConfig.getFormat().
      参数:
      obj - the number object to be formatted
      返回:
      the specified number formatted as a string
      另请参阅:
    • currency

      public String currency(Object obj)
      Convenience method equivalent to $number.format("currency", $foo).
      从以下版本开始:
      VelocityTools 1.3
    • integer

      public String integer(Object obj)
      Convenience method equivalent to $number.format("integer", $foo).
      从以下版本开始:
      VelocityTools 1.3
    • number

      public String number(Object obj)
      Convenience method equivalent to $number.format("number", $foo).
      从以下版本开始:
      VelocityTools 1.3
    • percent

      public String percent(Object obj)
      Convenience method equivalent to $number.format("percent", $foo).
      从以下版本开始:
      VelocityTools 1.3
    • format

      public String format(String format, Object obj)
      Converts the specified object to a number and returns a formatted string representing that number in the locale returned by LocaleConfig.getLocale().
      参数:
      format - the formatting instructions
      obj - the number object to be formatted
      返回:
      a formatted string for this locale representing the specified number or null if the parameters are invalid
      另请参阅:
    • format

      public String format(String format, Object obj, Locale locale)
      Converts the specified object to a number and returns a formatted string representing that number in the specified Locale.
      参数:
      format - the custom or standard pattern to be used
      obj - the number object to be formatted
      locale - the Locale to be used when formatting
      返回:
      a formatted string representing the specified number or null if the parameters are invalid
    • getNumberFormat

      public NumberFormat getNumberFormat(String format, Locale locale)
      Returns a NumberFormat instance for the specified format and Locale. If the format specified is a standard style pattern, then a number instance will be returned with the number style set to the specified style. If it is a custom format, then a customized NumberFormat will be returned.
      参数:
      format - the custom or standard formatting pattern to be used
      locale - the Locale to be used
      返回:
      an instance of NumberFormat
      另请参阅:
    • getNumberFormat

      @Deprecated protected NumberFormat getNumberFormat(int numberStyle, Locale locale)
      已过时。
      Returns a NumberFormat instance for the specified number style and Locale.
      参数:
      numberStyle - the number style (number will be ignored if this is less than zero or the number style is not recognized)
      locale - the Locale to be used
      返回:
      an instance of NumberFormat or null if an instance cannot be constructed with the given parameters
    • getStyleAsInt

      @Deprecated protected int getStyleAsInt(String style)
      已过时。
      Checks a string to see if it matches one of the standard NumberFormat style patterns: NUMBER, CURRENCY, PERCENT, INTEGER, or DEFAULT. if it does it will return the integer constant for that pattern. if not, it will return -1.
      参数:
      style - the string to be checked
      返回:
      the int identifying the style pattern
      另请参阅:
    • toNumber

      public Number toNumber(Object obj)
      Converts an object to an instance of Number using the format returned by FormatConfig.getFormat() and the Locale returned by LocaleConfig.getLocale() if the object is not already an instance of Number.
      参数:
      obj - the number to convert
      返回:
      the object as a Number or null if no conversion is possible
    • toNumber

      public Number toNumber(String format, Object obj)
      Converts an object to an instance of Number using the specified format and the Locale returned by LocaleConfig.getLocale() if the object is not already an instance of Number.
      参数:
      format - - the format the number is in
      obj - - the number to convert
      返回:
      the object as a Number or null if no conversion is possible
      另请参阅:
    • toNumber

      public Number toNumber(String format, Object obj, Locale locale)
      Converts an object to an instance of Number using the specified format and Localeif the object is not already an instance of Number.
      参数:
      format - - the format the number is in
      obj - - the number to convert
      locale - - the Locale
      返回:
      the object as a Number or null if no conversion is possible
      另请参阅: