java 人民币转换,java人民币大小写转换方法
/**
* 人民币转成大写
*
* @param value
* @return String
*/
public static String hangeToBig(double value)
{
char[] hunit = { '拾', '佰', '仟' }; // 段内位置表示
char[] vunit = { '万', '亿' }; // 段名表示
char[] digit = { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' }; // 数字表示
long midVal = (long) (value * 100); // 转化成整形
String valStr = String.valueOf(midVal); // 转化成字符串
String head = valStr.substring(0, valStr.length() - 2); // 取整数部分
String rail = valStr.substring(valStr.length() - 2); // 取小数部分
String prefix = ""; // 整数部分转化的结果
String suffix = ""; // 小数部分转化的结果
// 处理小数点后面的数
if (rail.equals("00"))
{ // 如果小数部分为0
suffix = "整";
}
else
{
suffix = digit[rail.charAt(0) - '0'] + "角" + digit[rail.charAt(1) - '0'] + "分"; // 否则把角分转化出来
}
// 处理小数点前面的数
char[] chDig = head.toCharArray(); // 把整数部分转化成字符数组
char zero = '0'; // 标志'0'表示出现过0
byte zeroSerNum = 0; // 连续出现0的次数
for (int i = 0; i < chDig.length; i++)
{ // 循环处理每个数字
int idx = (chDig.length - i - 1) % 4; // 取段内位置
int vidx = (chDig.length - i - 1) / 4; // 取段位置
if (chDig[i] == '0')
{ // 如果当前字符是0
zeroSerNum++; // 连续0次数递增
if (zero == '0')
{ // 标志
zero = digit[0];
}
else if (idx == 0 && vidx > 0 && zeroSerNum < 4)
{
prefix += vunit[vidx - 1];
zero = '0';
}
continue;
}
zeroSerNum = 0; // 连续0次数清零
if (zero != '0')
{ // 如果标志不为0,则加上,例如万,亿什么的
prefix += zero;
zero = '0';
}
prefix += digit[chDig[i] - '0']; // 转化该数字表示
if (idx > 0)
prefix += hunit[idx - 1];
if (idx == 0 && vidx > 0)
{
prefix += vunit[vidx - 1]; // 段结束位置应该加上段名如万,亿
}
}
if (prefix.length() > 0)
prefix += '圆'; // 如果整数部分存在,则有圆的字样
return prefix + suffix; // 返回正确表示
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
java 人民币转换,java人民币大小写转换方法相关推荐
- 人民币转换---java代码实现
人民币转换 具体代码如下,此题难度在于人民币的取值范围未提供,所以代码较长,算法也比较冗余,请用心阅读. 将数字和币值单位进行分类,采用对应匹配的方式求解.
- java i18n 转换,Java的国际化支持(I18N问题)
一,读取PC的locale信息 Locale信息是由语言跟国家代码组成的,在Java中,提供了Locale类对应语言信息. /* * //获取local信息 Locale defaultLocale ...
- date java string 转换,Java Date转String
Java Date转String 1 Java Date转String的介绍 我们可以使用java.text.DateFormat类的format() 方法在Java中将Date转换为String. ...
- java油画转换,java 图像特效之油画
油画也算是一种常见的艺术品了,谁说咱们IT男不懂艺术-我们还能创造艺术,不多说,先说原理. 油画的算法很简单,对某一像素,用它附近随机一个像素来代替.没错就这么简单. 上代码: public Imag ...
- java方法转换大写日期及人民币大写转换方式 .txt
java方法转换大写日期及人民币大写转换方式 2012-03-02 14:38:03| 分类: java |字号 订阅 /** * 阿拉伯数字与中文数字(大小写)之间的转换 * */ import j ...
- JAVA浮点数浮点数转换成人民币读法
侵删! 在<疯狂JAVA讲义>第4章最后练习题中,第5题:编写一个程序,将浮点数转换成人民币读法字符串,例如,将1006.33转换成一千零六元三角三分. 这个题主要是一个逻辑判断的过程.首 ...
- 财务转换工具 - 人民币金额转大写工具类 java 版本
文章目录 财务转换工具 - 人民币金额转大写工具类 java 版本 1.示例 2.代码 财务转换工具 - 人民币金额转大写工具类 java 版本 1.示例 public static void mai ...
- java人民币美元转换_人民币与美元的汇率转换 ------Java实现
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class changeDollar extends ...
- 人民币与美元的汇率转换 ------Java实现
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class changeDollar extends ...
- JAVA浮点数转人民币读法_算法--java实现将数字转换成人民币大写(迅雷面试题)...
public classRmb {/*** 人民币的基本信息和操作 * *@authorsoyoungboy *@version1.0*/ private double number; //人民币的数 ...
最新文章
- 尚硅谷学习:createElement 方法笔记
- python详细安装教程3.8-手把手教你安装Python3.8环境
- juqery 获取radio选中的值
- 从内存中窃取未加密的SSH-agent密钥
- 深入学习js之——原型和原型链
- css对各个浏览器兼容技巧
- Linux 用inotify监听文件和目录
- angular.forEach()
- pandas 删除特定行根据条件_记录21个Pandas技巧
- html上下两个箭头符号怎么打出来,上下两个半箭头符号怎么打啊?高手进来看下,有图示的!...
- 【论文阅读】【综述】A survey of deep learning techniques for autonomous driving
- canvas改变图片原始尺寸
- oracle付权,oracle权限总结
- 【HBuilderX】预编译器错误:代码使用了scss/sass语言,但未安装相应的编译器插件,请前往插件市场安装该插件:
- 通达oa2015 php解密,通达OA /interface/auth.php SQL注入
- Linux 打印机移植说明
- 快速将非Word中的不可编辑的公式转换为Word文档中公式编辑器里可编辑的公式的办法
- 300例注册表应用技巧
- HA高可用集群与RHCS集群套件
- 您有一篇Maven 常用命令的文章,请注意查收!