代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
金额元分之间转换工具类
作者:
瑞祺
/ 发布于
2016/12/6
/
784
package com.ucf.gateway.bankgw.bank.cmbc.Utils; import java.math.BigDecimal; /** * com.util.AmountUtils * * @description 金额元分之间转换工具类 * @author zcm0708@sina.com * @2012-2-7下午12:58:00 */ public class AmountUtils { /** 金额为分的格式 */ public static final String CURRENCY_FEN_REGEX = "\\-?[0-9]+"; /** * 将分为单位的转换为元并返回金额格式的字符串 (除100) * * @param amount * @return * @throws Exception */ public static String changeF2Y(Long amount) throws Exception { if (!amount.toString().matches(CURRENCY_FEN_REGEX)) { throw new Exception("金额格式有误"); } int flag = 0; String amString = amount.toString(); if (amString.charAt(0) == '-') { flag = 1; amString = amString.substring(1); } StringBuffer result = new StringBuffer(); if (amString.length() == 1) { result.append("0.0").append(amString); } else if (amString.length() == 2) { result.append("0.").append(amString); } else { String intString = amString.substring(0, amString.length() - 2); for (int i = 1; i <= intString.length(); i++) { if ((i - 1) % 3 == 0 && i != 1) { result.append(","); } result.append(intString.substring(intString.length() - i, intString.length() - i + 1)); } result.reverse().append(".") .append(amString.substring(amString.length() - 2)); } if (flag == 1) { return "-" + result.toString(); } else { return result.toString(); } } /** * 将分为单位的转换为元 (除100) * * @param amount * @return * @throws Exception */ public static String changeF2Y(String amount) throws Exception { if (!amount.matches(CURRENCY_FEN_REGEX)) { throw new Exception("金额格式有误"); } return BigDecimal.valueOf(Long.valueOf(amount)) .divide(new BigDecimal(100)).toString(); } /** * 将元为单位的转换为分 (乘100) * * @param amount * @return */ public static String changeY2F(Long amount) { return BigDecimal.valueOf(amount).multiply(new BigDecimal(100)) .toString(); } /** * 将元为单位的转换为分 替换小数点,支持以逗号区分的金额 * * @param amount * @return */ public static String changeY2F(String amount) { String currency = amount.replaceAll("\\$|\\¥|\\,", ""); // 处理包含, ¥ // 或者$的金额 int index = currency.indexOf("."); int length = currency.length(); Long amLong = 0l; if (index == -1) { amLong = Long.valueOf(currency + "00"); } else if (length - index >= 3) { amLong = Long.valueOf((currency.substring(0, index + 3)).replace( ".", "")); } else if (length - index == 2) { amLong = Long.valueOf((currency.substring(0, index + 2)).replace( ".", "") + 0); } else { amLong = Long.valueOf((currency.substring(0, index + 1)).replace( ".", "") + "00"); } return amLong.toString(); } // public static void main(String[] args) { // // try { // // System.out.println("结果:"+changeF2Y("-000a00")); // // } catch(Exception e){ // // System.out.println("----------->>>"+e.getMessage()); // // // return e.getErrorCode(); // // } // // System.out.println("结果:"+changeY2F("1.00000000001E10")); // // System.out.println(AmountUtils.changeY2F("0.01")); // try { // System.out.println(AmountUtils.changeF2Y("1322")); // } catch (Exception e) { // e.printStackTrace(); // } // // System.out.println(Long.parseLong(AmountUtils.changeY2F("1000000000000000"))); // // System.out.println(Integer.parseInt(AmountUtils.changeY2F("10000000"))); // // System.out.println(Integer.MIN_VALUE); // // long a = 0; // // System.out.println(a); // // } }
试试其它关键字
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
瑞祺
贡献的其它代码
(
25
)
.
判断某个点是否在所画范围内(多边形/圆形)
.
1_1000之间的奇数之和
.
SqlServer存储过程中使用事务
.
设置Select按文本或按值选中
.
读取/更新Oracle数据库blob字段
.
取得MAC地址
.
自动登录网页,浏览页面
.
查看hive 表在hdfs上的存储路径
.
case when then else end 应用
.
金额元分之间转换工具类
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3