velocity的string转数字,numberTool

velocity的string转数字,非常有意思:

1、通过java的包装类进行转换

#set($intString = "20")
#set($Integer = 0)
$Integer.parseInt($intString)
#set($tring = "20")
#set($Double = 0.0)
$Double.parseDouble($string)

以上输出:

20

20.0

注意:velocity无法直接使用Integer(或Double),但是可以先定义一个整型变量(Double),使用这个整型变量的parseInt(“string”)转换。

先定义,再使用!

2、可以使用spring中的velocity的numberTool(numberToolAttribute属性):

    <bean id="velocityViewResolver"
          class="com.banksteel.erp.web.common.utils.VelocityLayoutViewResolver">
        <property name="layoutUrl" value="inc/layout.vm"/>
        <property name="cache" value="false"/>
        <property name="suffix" value=".vm"/>
        <property name="exposeSpringMacroHelpers" value="true"/>
        <property name="dateToolAttribute" value="dateTool"/>
        <property name="numberToolAttribute" value="numberTool"/>
        <property name="requestContextAttribute" value="req"/>
        <property name="exposeRequestAttributes" value="true"/>
        <property name="exposePathVariables" value="true"/>
        <property name="toolboxConfigLocation" value="WEB-INF/tool-box.xml"/>
        <property name="contentType" value="text/html;charset=UTF-8"/>
    </bean>

$numberTool.format("0.00", "500");

3、NumberTool

org.apache.velocity.tools.generic.NumberTool

在toolbox.xml中配置如下所示:

<tool>
     <key>number</key>
     <scope>application</scope>
     <class>org.apache.velocity.tools.generic.NumberTool</class>
     <parameter name="format" value="#0.0"/>
</tool>

关于number,如下所示:

函数举例显示结果:

$number            [email protected]                            $number.currency("35")            ¥35.00                            $number.format            #0.0                            $number.locale            zh_CN                            $number.format("35")            35.0                            $number.integer("35.47")            35                            $number.number("35.47")            35.47                            $number.percent("0.3547")            35%                            $number.toNumber("35.47")            35.47         

以上!

注意:velocity的减法:“-”前后都要有空格!!!

时间: 2024-10-05 00:15:34

velocity的string转数字,numberTool的相关文章

String.Format数字格式化输出 {0:N2} {0:D2} {0:C2} (转)

String.Format数字格式化输出 {0:N2} {0:D2} {0:C2} (转) //格式为sring输出 // Label1.Text = string.Format("asdfadsf{0}adsfasdf",a); // Label2.Text = "asdfadsf"+a.ToString()+"adsfasdf"; // Label1.Text = string.Format("asdfadsf{0:C}adsfas

String.Format数字格式化输出 {0:N2} {0:D2} {0:C2}

String.Format数字格式化输出 {0:N2} {0:D2} {0:C2} 数字 {0:N2} 12.36 数字 {0:N0} 13 货币 {0:c2} $12.36 货币 {0:c4} $12.3656 货币 "¥{0:N2}" ¥12.36 科学计数法 {0:E3} 1.23E+001 百分数 {0:P} 12.25% P and p present the same. 日期 {0:D} 2006年11月25日 日期 {0:d} 2006-11-25 日期 {0:f} 20

C++ 11特性中string与数字之间的互相转换

在写C++时经常会遇到字符串string与int等数字之间的相互转化,在java这种语言特性特别丰富的语言中能够通过Integer和String包装类中的函数parseInt和valueOf等函数轻松转换,而在C++中一直没有特别好的处理办法. 在之前的经历中,我都是通过C++中的字符串流stringstream来进行转换的,即通过如下函数: 1 int str2int(string input){ 2 stringstream ss; 3 ss<<input; 4 int res; 5 ss

推断字符串string是数字、json结构、xml结构

import org.json.JSONException; import org.json.JSONObject; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; public class StringTest { /** * @param args */ public static void main(String[] args) { String string1 = "123"; Strin

.net String.Format数字格式化输出

内容转载自:http://www.cnblogs.com/lqb/archive/2008/08/04/1259498.html 前面内容这个做的总结的很全,今后有新增的我继续往后补充. int a = 12345678; //格式为sring输出 Label1.Text = string.Format("asdfadsf{0}adsfasdf",a); Label2.Text = "asdfadsf"+a.ToString()+"adsfasdf&quo

【转】C# String.Format数字格式化输出各种转换{0:N2} {0:D2} {0:C2}...

int a = 12345678; //格式为sring输出 // Label1.Text = string.Format("asdfadsf{0}adsfasdf",a); // Label2.Text = "asdfadsf"+a.ToString()+"adsfasdf"; // Label1.Text = string.Format("asdfadsf{0:C}adsfasdf",a);//asdfadsf¥1,234

搜集的 C#:String.Format数字格式化输出

今天需要用到 大额的金额数字转换 ,上网搜了一下有人整理好了 于是转载过来 ,备用 格式化处理大额度金额: String.Format("{0:N}", "628310.03") 628,310,03 网上收集: int a = 12345678; C#数字格式化之格式为sring输出 Label1.Text = string.Format("asdfadsf{0}adsfasdf",a); Label2.Text = "asdfads

C#:String.Format数字格式化输出 {0:N2} {0:D2} {0:C2}等等

int a = 12345678; //格式为sring输出//   Label1.Text = string.Format("asdfadsf{0}adsfasdf",a); //   Label2.Text = "asdfadsf"+a.ToString()+"adsfasdf"; //   Label1.Text = string.Format("asdfadsf{0:C}adsfasdf",a);//asdfadsf¥

判断字符串string是数字、json结构、xml结构

import org.json.JSONException; import org.json.JSONObject; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; public class StringTest { /** * @param args */ public static void main(String[] args) { String string1 = "123"; Strin