- 浏览: 70244 次
- 性别:
- 来自: 上海
文章分类
最新评论
package com.resource.test;
import java.util.Scanner;
class DaXie //人民币小写转大写
{
public static void main(String[] args)
{
System.out.println("请输入您要转换的金额数: ");
int j=0;
Scanner shu=new Scanner(System.in);
double b=shu.nextDouble();
long f=(long)(b*100);
String [] a=new String []{"壹","贰","叁","肆","伍","陆","柒","捌","玖"};
String [] d=new String[]{"分","角","元","拾","百","千","万","十","百","千","亿","十","百","千","兆","十","百","千"};
String c=new String(""+f);
System.out.println("\n转换后的金额为:\n");
for (int i=0;i<c.length();i++ )
{
if(c.charAt(i)!='0')
{
System.out.print(a[c.charAt(i)-49]+d[c.length()-i-1]);
}
else
{
if (i-j>0)
{
if(c.length()-i==3)
{
System.out.print("元");
}
else
{
System.out.print("零");
j=i;
++j;
}
}
}
}
}
}
/*==================================*/
/*网上找到的另一个例子,实现起来挺清晰的*/
/*===================================*/
package com.resource.test;
public class RMB {
public static void main(String[] args) {
String s = toUpper("123,456,789.55");
System.out.println(s);
}
/**
* 小写转换大写金额
*/
public static String toUpper(String amount) {
StringBuffer result = new StringBuffer("");
String[] tmp = amount.replaceAll(",", "").split("\\.");
String integer = tmp[0];
final int LEN = integer.length();
if (LEN > 12) {
throw new RuntimeException("太大了 ,处理不了啊!");
}
for (int k = 12; k > LEN; k--) {
integer = "0" + integer;
}
int part1 = Integer.parseInt(integer.substring(0, 4));
int part2 = Integer.parseInt(integer.substring(4,);
int part3 = Integer.parseInt(integer.substring(8, 12));
if (part1 != 0) {
result.append(parseInt(part1) + "亿");
}
if (part2 != 0) {
if(part2<1000)
result.append("零");
result.append(parseInt(part2) + "万");
}else{
result.append("零");
}
if (part3 != 0) {
if(part3<1000)
result.append("零");
result.append(parseInt(part3));
}
result.append("元");
if (tmp.length == 2) {
result.append(parseFloat(tmp[1]));
}
return result.toString();
}
/**
* 解析四位整数转换为中文金额大写
*
* @param sStr
* @return
*/
public static String parseInt(int i) {
String[] num = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
String result = "";
int tmp = i;
if (tmp / 1000 != 0) {
result += num[tmp / 1000] + "仟";
tmp = tmp - (tmp / 1000) * 1000;
}
if (tmp / 100 != 0) {
result += num[tmp / 100] + "佰";
tmp = tmp - (tmp / 100) * 100;
}
if (tmp / 10 != 0) {
result += num[tmp / 10] + "拾";
tmp = tmp - (tmp / 10) * 10;
}
if (tmp != 0)
result += num[tmp];
return result;
}
/**
* 解析小数部分
*/
public static String parseFloat(String sStr) {
String[] num = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "七", "捌", "玖" };
String[] unit = { "角", "分" };
String result = "";
final int LEN = sStr.length();
for (int i = 0; i < LEN; i++) {
String tmp = sStr.substring(i, i + 1);
int k = Integer.parseInt(tmp);
result += num[k] + unit[i];
}
return result;
}
}
import java.util.Scanner;
class DaXie //人民币小写转大写
{
public static void main(String[] args)
{
System.out.println("请输入您要转换的金额数: ");
int j=0;
Scanner shu=new Scanner(System.in);
double b=shu.nextDouble();
long f=(long)(b*100);
String [] a=new String []{"壹","贰","叁","肆","伍","陆","柒","捌","玖"};
String [] d=new String[]{"分","角","元","拾","百","千","万","十","百","千","亿","十","百","千","兆","十","百","千"};
String c=new String(""+f);
System.out.println("\n转换后的金额为:\n");
for (int i=0;i<c.length();i++ )
{
if(c.charAt(i)!='0')
{
System.out.print(a[c.charAt(i)-49]+d[c.length()-i-1]);
}
else
{
if (i-j>0)
{
if(c.length()-i==3)
{
System.out.print("元");
}
else
{
System.out.print("零");
j=i;
++j;
}
}
}
}
}
}
/*==================================*/
/*网上找到的另一个例子,实现起来挺清晰的*/
/*===================================*/
package com.resource.test;
public class RMB {
public static void main(String[] args) {
String s = toUpper("123,456,789.55");
System.out.println(s);
}
/**
* 小写转换大写金额
*/
public static String toUpper(String amount) {
StringBuffer result = new StringBuffer("");
String[] tmp = amount.replaceAll(",", "").split("\\.");
String integer = tmp[0];
final int LEN = integer.length();
if (LEN > 12) {
throw new RuntimeException("太大了 ,处理不了啊!");
}
for (int k = 12; k > LEN; k--) {
integer = "0" + integer;
}
int part1 = Integer.parseInt(integer.substring(0, 4));
int part2 = Integer.parseInt(integer.substring(4,);
int part3 = Integer.parseInt(integer.substring(8, 12));
if (part1 != 0) {
result.append(parseInt(part1) + "亿");
}
if (part2 != 0) {
if(part2<1000)
result.append("零");
result.append(parseInt(part2) + "万");
}else{
result.append("零");
}
if (part3 != 0) {
if(part3<1000)
result.append("零");
result.append(parseInt(part3));
}
result.append("元");
if (tmp.length == 2) {
result.append(parseFloat(tmp[1]));
}
return result.toString();
}
/**
* 解析四位整数转换为中文金额大写
*
* @param sStr
* @return
*/
public static String parseInt(int i) {
String[] num = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
String result = "";
int tmp = i;
if (tmp / 1000 != 0) {
result += num[tmp / 1000] + "仟";
tmp = tmp - (tmp / 1000) * 1000;
}
if (tmp / 100 != 0) {
result += num[tmp / 100] + "佰";
tmp = tmp - (tmp / 100) * 100;
}
if (tmp / 10 != 0) {
result += num[tmp / 10] + "拾";
tmp = tmp - (tmp / 10) * 10;
}
if (tmp != 0)
result += num[tmp];
return result;
}
/**
* 解析小数部分
*/
public static String parseFloat(String sStr) {
String[] num = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "七", "捌", "玖" };
String[] unit = { "角", "分" };
String result = "";
final int LEN = sStr.length();
for (int i = 0; i < LEN; i++) {
String tmp = sStr.substring(i, i + 1);
int k = Integer.parseInt(tmp);
result += num[k] + unit[i];
}
return result;
}
}
发表评论
-
Tomcat配置远程调试端口
2016-07-26 15:35 0Tomcat配置远程调试端口 1.Linxu系统: apa ... -
获取通过body传输的postdata数据
2016-07-01 18:39 0目前基于rest风格的很多API开始使用通过body da ... -
LOG4J 配置
2015-04-01 17:44 690log4j.rootLogger = info, consol ... -
利用Java实现压缩与解压缩(zip、gzip)支持中文路径
2011-10-19 22:21 1405zip扮演着归档和压缩两个角色;gzip并不将文件归档,仅只是 ... -
安全有效的实现两星期内自动登陆功能
2011-10-19 22:02 1159自动登陆流程: 1. 保存用户信息阶段: 当用户登陆网站 ... -
基于Spring框架的Shiro配置
2011-10-15 13:37 2581一、在web.xml中添加shiro过滤器 ... -
web应用 相对路径 绝对路径 总结
2011-05-20 11:50 2952参考资料: http://www.iteye.com/topi ... -
Spring,hibernate,struts的面试笔试题(含答案)
2011-05-07 14:23 1Hibernate工作原理及为什么要用? 原 ... -
spring入门编程问题集锦
2011-05-07 14:19 10651、如何学习Spring? 你 ... -
SchemaExport工具实战(hibernate)
2011-03-05 14:57 977SchemaExport工具实战 通常我们使用生成数据库 ... -
用java实现zip压缩
2011-02-12 11:42 1033今天写了个用java压缩的功能,可以实现对文件和目录的压缩。 ... -
java实现zip与unzip
2011-02-12 11:26 1181jdk提供了Zip相关的类方便的实现压缩和解压缩。使用方法很简 ... -
一个java处理JSON格式数据的通用类
2011-02-11 14:57 1740进入需要在项目中用java处理json格式的数据,因此封装了一 ... -
高效的Java异常处理
2011-01-20 20:37 903Java开发人员可以做出的 ... -
Java 理论与实践: 关于异常的争论
2011-01-20 20:28 679与 C++ 类似,Java 语言也 ... -
讲解Java异常
2011-01-20 14:35 792六种异常处理的陋习 ... -
jsp2.0自定义标签Tag
2011-01-13 00:56 1937在JSP2.0 中,对于自定义 ... -
Axis2部署WebService
2011-01-12 21:14 2078Axis2下提供了三种配置文件,一种是整个系统的全局配置axi ... -
高效java异常处理机制
2011-01-12 16:34 1017Java 开发人员可以做 ... -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
2010-12-20 17:42 769一、 1、启动一个WEB项 ...
相关推荐
3. 小数点后每位数字也需要转换为大写,并且在某些情况下(如0.01)可能需要添加`角`、`分`等单位。 接下来,我们来看`GetAmount.java`文件中的代码。这段代码可能包含一个`getAmountToChinese`方法,该方法接收一...
"人民币小写转大写的程序"就是一个这样的解决方案,用于将诸如“123456.78”这样的金额转换成对应的汉字表示,如“壹拾贰万叁仟肆佰伍拾陆元柒角捌分”。 这个程序通常会涉及以下知识点: 1. **字符串处理**:程序...
"jsp页面人民币小写转大写"这个话题就是其中之一。在处理金融数据时,为了保证准确性和规范性,通常会将金额从小写的阿拉伯数字转换为大写的汉字数字,这在财务报表、发票等正式文档中尤其常见。在JSP(JavaServer ...
在IT行业中,尤其是在财务软件开发或者自动化处理财务数据时,将小写人民币金额转换为大写人民币是一项常见的需求。这主要是因为在中国的财务规范中,正式的财务凭证和合同通常要求使用大写数字来表示金额,以防止...
这个“小写金额转大写”的主题就涉及到这样的一个功能实现。在这个压缩包文件中,很可能包含了一些Java代码示例,用于解决这个问题。 首先,我们要理解金额转换的基本规则。在中国,小写金额通常是指阿拉伯数字(如...
在Java编程语言中,将人民币小写金额转换为大写是一项常见的需求,特别是在财务系统或者银行系统的开发中。人民币大写转换主要是为了满足会计规范,确保财务数据的准确性和规范性。下面,我们将深入探讨如何利用Java...
对于小数部分,也有类似的转换规则,但通常只转换到分(即两位小数),且小数点用“点”或“圆点”表示。对于超过四位的大数,可能需要递归或循环处理,确保所有位数都被正确转换。 总的来说,小写数字转换大写数字...
本节将详细探讨如何用Java编程语言实现一个精确到角的中文大写转小写数字的程序。 首先,我们需要了解中文大写数字与阿拉伯数字的对应关系: 1. 零:零 2. 一:壹 3. 二:贰 4. 三:叁 5. 四:肆 6. 五:伍 7. 六:...
本文将深入探讨如何在Android环境中实现这一功能,包括数字转中文以及数字金额转大写,并且会涉及到口语化的转换。 首先,数字转中文主要是将阿拉伯数字(如1、2、3等)转换成中文数字(如一、二、三等)。在Java或...
根据给定的信息,本文将详细解释一个Java程序如何实现金额数字到大写金额的转换功能。此程序的主要目的是为了在财务、会计等场景下能够准确地将数字形式的金额转换成汉字大写形式,这对于正式文件如发票、合同等非常...
标题提到的"VB033-金额小写转为大写 源代码"是一个典型的实例,它涉及到将货币金额从通常的小写形式(如123456.78)转换成大写形式(如壹拾贰万叁仟肆佰伍拾陆元柒角捌分),这种转换在财务报告、发票和合同中非常...
实现人民币小写转大写的程序,通常会分为以下几个步骤: 1. **输入验证**:确保输入的字符串只包含数字和可能的正负号,排除非数字字符。 2. **金额处理**:如果金额为负,前面加上“负”字;如果金额为零,直接...
2. **格式化**:输入的数字需要进行预处理,包括检查是否符合人民币金额的格式,如不能有额外的非数字字符,小数点后最多两位等。如果输入不符合规范,程序应该给出错误提示。 3. **数字转大写**:转换的核心部分是...
在Android开发过程中,有时我们需要将阿拉伯数字(1, 2, 3...)转换成中文小写数字(一,二,三...),特别是在涉及到文化习惯或者用户界面本地化的时候,如书籍页码显示。这个任务涉及到字符串处理和字符映射,下面...
4. **小数部分转换**:如果存在小数部分,将其转换为大写数字,但通常只保留到"角"和"分"的单位。 5. **拼接单位**:在整数部分和小数部分后分别添加对应的单位,如"圆"和"角分"。 6. **添加货币符号**:根据需要,...
Java版本的方法一中,通过定义两个静态字符串`_NumChinese`和`_UnitChinese`分别存储数字0至9的大写表示和单位(从分到亿),实现了小写金额到大写金额的转换。代码首先检查输入的数字是否小于或等于零,如果是,则...
在标签“小写金额转大写”中,我们可以推测这个程序的核心功能就是实现这个转换。通常,这样的程序会包含以下几个关键部分: 1. **输入验证**:确保输入的金额符合规范,只包含数字和小数点,没有非法字符。 2. **...
- 大写字母转小写字母,通过ASCII码的转换,大写字母与小写字母之间相差32。 8. **分页显示**: - 分页计算涉及到数学运算,如总页数的计算,需要用到取余和整除操作。 9. **逻辑判断语句**: - 判断数字奇偶性...
Java支持两种类型的转换:自动类型转换和强制类型转换。 1. **自动类型转换** - 将表示数据范围较小的数值赋值给表示数据范围较大的变量。 - 示例:`double d = 10;` - 数据类型从小到大排序:`byte ;`char 。 ...
### Java学习笔记知识点详解 #### 一、Java的常量 **定义:** - 常量是指在程序运行期间其值不可改变的量。 **分类:** 1. **字符串常量:** - 被双引号包围的字符串,例如`"hello world"`或空字符串`""`。 2. *...