⑴ jsp中freemarker 数字格式化
一 使用内建函数 c
特点
不管其表现形式是怎样的(
例如" " " " " " " " " ")
只要小数分割符是 它就能转化成计算机能够识别的字符串形式 而且都是 计算机处理的时候是没有那些所谓的千位分隔符的(空格或逗号) 而且计算机支持的最大的小数点后面的位数是 位 目前来说 已经够我们用了
用法:
假设strmun是一个字符串形式的数字 则可以这样写 ${strnum?c} 例如${" "?c} 值为
可能用处
对一些表单允许用户按照个人习惯输入数字 提交的时候统一转换
二 使用预定义的数字格式
有四种预定义的数字格式 分别是puter(跟内建函数c功能一样 用法不一样) currency(货币格式) number(数字格式) percent(百分比形式)
特点
这些格式的明确含义是本地化(国家)指定的 受 java 平台安装环境所控制 而不是 FreeMarker 所以不建议用这些函数 而且受默认数字格式的影响 用法不灵活
三 使用类似于Java中数字格式语法形式
特点
例如" #" 左边的 的个数代表整数部分最少为多少位 右边 #"的个数代表小数部分最多为多少位;例如" ## #"表示整数部分的千位分割符是 小数部分最多保留两位 最少保留一位;例如" ##%"以百分比的形式表示 小数部分最多两位
用法:
假设strnum是一个数字 则可以这样写${strnum?string(" ## #")} 例如${ ?string(" ## #")} 值为
注意
数字格式是本地化敏感的 不过我们一般都会给freemarker设置默认的本地化语言 问题不大
可能用处
当在某一个地方突然要用到数字格式时 调用 string 函数是可以的 当在很多地方都需要用到数字格式是 这样处理太麻烦了 可以考虑设置默认的数字格式化形式
四 局部设置
特点
如果在某个页面 或者某几个页面(其它页面可import进来) 用到的数字格式化是相同的 可考虑统一配置数字的格式化形式
用法
只需在用到需要格式化的数字之前 设置就可以了 格式如下 <#setting number_format=" ## ##"> 其中" ## ##"的内容是采用类似于java中数字格式的语法形式 也就是以上的第三点
注意
如果用在一个页面 则整个页面默认就是那种格式 除非用string函数覆盖了默认的格式 同样的 如果放在一个公共的页面 其它页面只要include它 也会是同样的格式
五 全局设置
特点
在所有的页面都默认提供数字的格式化形式
用法
(针对spring) 在freemarker的配置文件中设置其默认的数字格式化形式 如下
代码如下
< property name = "freemarkerSettings" >
< props>
< prop key = "number_format"> ##
六 舍入处理
有几种舍入处理方式 分别是 round floor ceiling 和string(" ")
特点
前面三种 从字面上很好理解 我们也经常使用 要说的最后一种 先看一个例子 ?string(" ")和 ?string(" ") 的值都是 说明如下
在金融和统计学中 四舍五入都是根据所谓的一半原则 这就意味着对最近的“邻居”进行四舍五入 除非离两个邻居距离相等 这种情况下 它四舍五入到偶数的邻居 如果你注意看 和 的四舍五入的话 这在上面的示例中是可以看到的 两个都被四舍五入到 因为 是偶数 但 和 是奇数
用法 假设strnum是一个数字 则可以这样写${strnum?round(floor/ceiling)} 或者${strmun?string(" ")}
可能用法
可用在一些对数字精确度不高的情况(分页处理时也许有用) 一些对小数敏感的 还是用 string函数
例如
${num?string( )}
如果小数点后不足两位 用 代替
${num?string( # ## )}
如果小数点后多余两位 就只保留两位 否则输出实际值
输出为
${num?string( ### )}
输出为
整数部分每三位用 分割 并且保证小数点后保留两位 不足用 代替
${num?string( ### ## )}
输出为
整数部分每三位用 分割 并且小数点后多余两位就只保留两位 不足两位就取实际位数 可以不不包含小数点
${num?string( )}
输出为
整数部分如果不足三位( ) 前面用 补齐 否则取实际的整数位
${num?string( ### )}
等价于
${num?string( # )}
输出为
freemarker数字格式化带来的操作问题
freemarker在解析数据格式的时候 自动默认将数字按 为分割( ) 这个问题给操作带来一定的额外处理复杂度 解决方法有如下几种
在模板中直接加 toString()转化数字为字符串 如
${languageList id toString()};
在freemarker配置文件freemarker properties加
<#setting number_format="#">或者 <#setting number_format=" ">;
在模板中直接加<#setting number_format="#">或者<#setting number_format=" "> 如 <#if
AdminLanguagePaginationMsg?exists>
<#setting number_format="#">
对于数字的格式化 可采用strng 和number_format 设置
数字格式化的优先级 string优先级最高 配置文件配置的优先级最低 在页面setting的优先级在两者之间
lishixin/Article/program/Java/JSP/201311/20001
⑵ 我要面试了,给些java面试基础问题,在线等
一、Java基础知识
1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。
2.字符串的操作:
写一个方法,实现字符串的反转,如:输入abc,输出cba
写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。
3.数据类型之间的转换
如何将数值型字符转换为数字(Integer,Double)
如何将数字转换为字符
如何取小数点前两位,并四舍五入。
4.日期和时间
如何取得年月日,小时分秒
如何取得从1970年到现在的毫秒数
如何获取某个日期是当月的最后一天
如何格式化日期
5.数组和集合
6.文件和目录(I/O)操作
如何列出某个目录下的所有文件
如何列出某个目录下的所有子目录
判断一个文件或目录是否存在
如何读写文件
7.Java多态的实现(继承、重载、覆盖)
8.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。
9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。
10.找出下列代码可能存在的错误,并说明原因:
二、JSP&Servlet技术
1.描述JSP和Servlet的区别、共同点、各自应用的范围
2.在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(< > & “”)
3.在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。
4.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。
5.列出Jsp中包含外部文件的方式,两者有何区别。
6.说明Jsp中errorPage的作用,应用范围。
7.介绍在Jsp中如何使用JavaBeans。
8.简单介绍JSP的标记库
9.Jsp和Servlet中的请求转发分别如何实现。
三、J2EE相关知识
1.介绍J2EE、J2SE、J2SE的区别。
2.J2EE是一种技术还是一种平台,他提供了那些技术。
3.什么是Application Server,它有什么功能和优点。
4.简单介绍连接池的优点和原理。
5.Web.xml的作用
四、其他
1.Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑)
2.简单介绍您所了解的MVC。
3.简单介绍所了解的XML。
4.文档和编码规范
5.Java中的分页、效率考虑。
6.简单介绍您所了解的structs。
.xml在项目中的作用
2.s-EJB 与 e-EJB的区别
3.会话面的作用
4.cmp与bmp的优缺点
5.j2me程序的必需的几个部分
6.c/s与b/s的区别
7.构建一个connect pool,然后再调用它,
8.j2ee平台与dotnet平台的区别
9.ejb的life cycle
10.session bean 和 entity bean的区别
11.ejb中的transaction机制
12.synchronized (生产者和消费)
13.String 和 StringBuffer
14.Serializable
15.MVC (Struts的工作流程)
16.什么是MDA
17.tcp与udp的区别
18.链表与散列表和数组的区别
19.堆和栈的区别
20.ejb的分类及区别
21.你对现在软件业以及国内软件业的看法
22.谈谈java多线程
23.谈谈文件加密技术
24.软件开发生命周期
25.路由协议种类及特点
26.java的awt和swing组件的GUI设计的关键
27.对于java流的认识
28.简单描述一下awt与swing区别。
29.简述java编程中事件处理模式。
30.你编写过applet吗?applet的安全权限如何?试列举java application或者applet中与servlet/jsp通信可以采用的方式。
31.简述逻辑操作(如&,|)与条件操作(如&&,||)的区别。
32.简述 Java Server Page 和 Servlet 的联系和区别。
33.简述synchronized和java.util.concurrent.locks.Lock的异同 ?
34.EJB规范规定EJB中禁止的操作有哪些?
35.java除了8种基本类型外,在虚拟机里还有哪一种,有什么作用?
36.除了使用new关键字创建对象意外,试列举另外三种以上创建实例的方式?
37.classloader中,JDK的API、Classpath中的同web-inf中的class加载方式有什么区别?
38.列举三种以上垃圾回收算法,并比较其优缺点?
39.编写代码实现一个线程池
40.描述一下JVM加载class文件的原理机制?
41.试举例说明一个典型的垃圾回收算法?
42.请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来.
43.请写一个java程序实现线程连接池功能?
44.给定一个C语言函数,要求实现在java类中进行调用。
45.如何获得数组的长度?
46.访问修饰符“public/private/protected/缺省的修饰符”的使用
47.用关键字final修饰一个类或者方法时,有何意义?
48.掌握类和对象的概念,掌握面向对象编程的本质
49.静态变量和静态方法的意义,如何引用一个类的静态变量或者静态方法?
50.JAVA语言如何进行异常处理,关键字:thorws,throw,try,catch,finally
51.Object类(或者其子类)的finalize()方法在什么情况下被调用?
52.一个“.java”原文件中是否可以包括多个类(不是内部类)?
53.掌握内部类和接口的概念
54.StringTokenizer类的使用
55.数据结构,如何遍历List中的元素?
如果要按照键值保存或者访问数据,使用什么数据结构?
要掌握Collection相关的接口和类的使用
56.使用StringBuffer类与String类进行字符串连接时有何区别?
57.调用Thread类的destroy()方法有什么后果?
58.多线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
59.使用socket建立客户端与服务器的通信的过程
60.JAVA语言国际化应用,Locale类,Unicode
61.描述反射机制的作用
62.如何读写一个文件?
63.在图形界面中,一个按钮如何处理鼠标点击事件?
64.在图形界面中,一个表格,如何实现编辑单元格时弹出下拉框?
65.如何加载图片?
66.什么是模态对话框?
67.阐述MVC的概念
68.GUI布局管理器的使用,FlowLayout,BorderLayout,GridBagLayout
69.如何构造一棵树?选择树的一个节点时,如何得到这个节点?
70.向编辑框中输入字符时,如何控制只输入整数?
71.描述使用JDBC连接数据库的过程
72.EJB分为几类?什么是BMP,CMP?
73.什么是JNDI?
74.ADO是什么?ActiveX数据对象,是一个应用级程序接口.
75.四种JDBC方式?目前的版本?
76.EJB有哪几种?区别是什么?
77.JavaBean与EJB有什么区别?
78.软件开发生命周期有哪几个阶段?
79.软件开发有哪些因素?
80.软件开发中如何进行版本控制?
81.UML中,类视图如何表示类中的继承与聚合?
82.客户端游标与服务器端游标的区别?
83.动态游标与静态游标的区别?
84.dotnet由哪几个基本框架组成?
85.Oracle中SGA是什么?
86.web servers是什么?
87.UNIX中QT是什么意思?
88.在软件开发生命周期中的哪个阶段开始测试?
89.dotnet与J2EE的比较?
90.什么是ActiveX?
91.Java中IDL是什么?
92.ISO9000和CMM是什么?IS09000和CMM(软件能力成熟度模型)认证是国际上通用的软件质量评估方法.CMM的五个成熟度等级。
⑶ 银行存款是复利吗
问题一:银行一年或者几年定存的利率属于复利吗? 10分 前一位回答不正确,并且容易误导楼主,所谓的几年期定存是在一年期基本定存利率基础上进行复利计算的。也就是说,银行出示给客户的几年期定存利率是属于复利型式的!
以3%年利率作比方,两年期定存利率不会是:1*3%*2 而应该是:1*(1+3%)^2=1.069 是大于单利形式的。
同样,我们以三月期,一月期,或者是7天通知型存款等形式存入银行的利率,银行给出的利率也会是以年化为标准的。这样方便客户进行对比!月利率为1.002的年化收益率为:1*1.002^12=1.024266
问题二:银行存款复利问题 我的想法是这样的:
方案1::三个月无限转定存,20年;相当于你用2.6%的利率复利计息了80次(4x20),20年后本利和:1000x(1+2.6%)的80次方=1000x7.794510780702=7795
方案2:一年无限转定存,20年;相当于用3%的利率复利计息20次,20年后本利和:
1000x(1+3%)的20次方=1000x1.8061112346694 =1806
方案3:同理20年后本利和:
1000x(1+4.75%)的四次方= 1000x1.2039712781641 =1204
明显方案1本利和远大于方案2,3
当然,其实你也可以把以上三种方案的年化收益率算出来,比较一年中的实际收益率就可以了。方案一年化收益率:1+x=(1+2.6%)的四次方,x=1.108126760976 -1=10.8%
方案二年化收益率:3%
方案三年华收益率:4.75%/5=0.95%
可见方案1的年华收益率仍然远大于方案2和3.
至于还有没有其他更好的方式,可以考虑购买基金,有点相当于你把自己的钱委托给基金经理保管,基金经理来代你去用这些钱进行投资,比如投资公司债券,投资股票等,由于一般会进行组合投资,所以风险得到了一定分散,然后获益后根据你的基金份额来给你相应的回报。这我就不是很清楚了,你可以再了解了解。
定存和基金都是相对来说投资风险比较小一点的,当然风险跟收益总是成正比的,如果想要更高的收益的话,那就可以炒炒期货,黄金,外汇什么的,这个风险确实大,有可能血本无归,你要对市场,政策,和经济环境有敏锐的洞察力;股票就不建议了,感觉很坑人,也没什么赚头。
以上是小弟的一些心得,可能不太准确,欢迎一起讨论讨论。
问题三:如何在银行按复利存钱? 1 带上身份证就可以到银行去申请开户,然后领个弗及存折就行了。
2 按复利存款,是指在一个存款周期后取出全款及利息再存,这时源于银行计算利息的公式的不同。简单地举一个例子吧:
你存10000元,两年,有两种方式:
一是按2年期利率2.79%存,则到期日本息为:10000*(1+0.0279*2)=10558元。
二是按1年期利率2.25%存两次,则到期日本息为:10000*(1+0.0279)^2=10510元
,这就是复利。
通过上面的比较你可以看出,由于两年期与一年期的利率不一样,所以复利并不一定利息会更高,但很多时候,人们还是愿意选择第二种情况,原因在于如果利率预期调高的话,也就是说如果第二年的一年期利率调高到3%的话,则超过了2年期的利率。所以是否选择复利取决于你对未来利率走势的判断。
问题四:中国建设银行的存款利息是单利还是复利? 对于活期存款银行每三个月计算一次利息,一般是每个季度最后一个月的21日,即每年的3-21,6-21,9-21,12-21。你存款3000元,5年的时间银行总共和你结算20次利息。第一次结算的利息就会纳入本金,到第二次会一起计算利息。以此类推。
3000元第1季度的活期利息是3000*0.0036/4=2.7元(存款余额*活期利率0.36%除4,因为一年是4个季度)。第二季度的利息则是3002.7*0.0036/4=2.7024(按照银行精确到分,四舍五入,利息仍是2.70元)。
如果存款是3万,那第一季度利息是27元,第二季度是27.0243(四舍五入为27.02元),以此类推。
问题五:银行利息是按单利还是复利计算? 储户在银行存款,存款利息是按单利计算的。
买房,从银行贷款,银行往外丁的时候是按复利计算的。
问题六:目前银行的利息结算方式是复利还是单利 1 活期存款利息计算:
本金×0.81%(年利率)×实际存款天数/360×0.95(扣除利息税)=
在结息前是单利,在每个季度结息后,所得到的利息将产生新的利息,这时就可以理解为复利了。
2 定期存款,比如三年整取整存,到期利息计算:
本金×5.22%×3×0.95 =
定期存款在到期前是单利,如果到期不取,银行将按你原存期自动转存,所得利息将产生新互利息,这时也可以理解为复利。
最新存款利率:bank-of-china/...%C2%CA
给你工行的“理财计算器”,你自己算一下,很方便的,你不妨试试。
icbc/calculator/calculator_per.jsp
问题七:银行定期存款计复利吗 银行定期存款不计算复利,在存款期内是单利。
如果到期不取,所得利息和原本金合并为新的本金,自动转入下一个存期。
定期存款,是到期一次性结算利息。
比如:今天存款一年定期,到明年的今天银行才会结算利息,在这一年期间内,是没有复利的。
问题八:银行存款,怎么样存款才能是复利计算,请各位指教~! 5分 国内银行存款每个周期都是单利的,只有完成一个周期进入下一个周期才是复利计算。
但银行存款主要看利率,在相同时间,复利的收益不会比单利高。
假设利率不变,以现时一年定期3.0%,与二年定期3.75%比较。
1、复利计算,即一年期满后自动续存。
二个周期的一年定期本利=1*(1+3.0%)^2=1.0609
2、单利计算,就是一个二年定期。
一个周期的二年定期本利=1*(1+3.75%*2)=1.075
注:^为次方。
以上回答,希望对你有所帮助。
问题九:所有银行的存款都是复利计息吗,包括活期和定期吧 国内银行计息方式主要如下:活期,每季的季末月21日计算本季利息,并将其归本,就是计算复利。定期如果不设为“自动转存”则按单利计算,如果设为“自动转存”,则每次到期后自动将利息归本,即按复利工算。在定期期限之内全部按单利计算。例如:三年期定期,在三年内是按公布利息单利算,满三年后,将三年的利息加入本金,再一起计算利息,即复利。
问题十:银行存款是单利还是复利 定期存款,如果约定自动转存,利息加入原存款,就相当于计复利。 现在有的银行,储户不申明自动转存,如果以后又达到一个原约定存款期,也视同转存,就相当于计复利(我遇到过这种情况)。但是在第二个储存期未满支取的,过期的时间按活期计息。 活期存款计息以后,当然加入存款额,从概念上说是计复利了。