1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java阿拉伯转大写_JAVA编写将阿拉伯数字转换成中文大写不要...

java阿拉伯转大写_JAVA编写将阿拉伯数字转换成中文大写不要...

时间:2020-10-18 19:38:09

相关推荐

java阿拉伯转大写_JAVA编写将阿拉伯数字转换成中文大写不要...

-09-01 00:35黄益江 客户经理

把阿拉伯数字转为中文可以,你在“设置单元格格式”“数字”“特殊”“中文大写数字”,就可以了袱甫递晃郛浩店彤锭廓,只要你输入数字,他会自动变为中文的大写

-09-01 00:32黄盛洁 客户经理

java实现金额转换,阿拉伯数字的金额转换成中国传统的形式

import java.util.HashMap;

import java.text.NumberFormat;

import java.lang.StringBuffer;

public class SimpleMoneyFormat {

public static final String EMPTY="";

public static final String ZERO="零";

public static final String ONE="壹";

public static final String TWO="贰";

public static final String THREE="叁";

public static final String FOUR="肆";

public static final String FIVE="伍";

public static final String SIX="陆";

public static final String SEVEN="柒";

public static final String EIGHT="捌";

public static final String NINE="玖";

public static final String TEN="拾";

public static final String HUNDRED="佰";

public static final String THOUSAND="仟";

public static final String TEN_THOUSAND="万";

public static final String HUNDRED_MILLION="亿";

public static final String YUAN="元";

public static final String JIAO="角";

public static final String FEN="分";

public static final String DOT=".";

private static SimpleMoneyFormat formatter=null;

private HashMap chineseNumberMap=new HashMap();

private HashMap chineseMoenyPattern=new HashMap();

private NumberFormat numberFormat=NumberFormat.getInstance();

//私有构造函数

private SimpleMoneyFormat() {

numberForma......

-09-01 00:29赖鹏华 客户经理

之前在CSDN论坛里,看有人Show了一些把中文大写转换成阿拉伯数字的程序代码,自己也用Java语言实现了程序设计,基本上能够实现十万亿以内的任何数字的转换。之前也帖出自己的实现代码。 但我个人认为,把大写转换为数字实际上是没有多少意义的。因为很少有把大写转为数字的,大多数都是把数字转换为大写。何况把大写转为数字并不是一件很容易的事情,因为汉语大写有很多种说法,比如说:101,它的汉语说法可以有好多种: (一)、百零一 (二)、一百零一 (三)、一百又一 (四)、幺零幺 因此,要实现起来其实是很难的。而且还要防止用户输入大小写不固定,一会输入“一百零一”,一会又输入“壹佰零壹”,或者是二者的杂合体。形式千变万化,何况这一个数字就可以有这么多种,还有那么多特殊的数字呢?除非用成统一标准的输入。否则是很容易出现问题的。 但是,数字转换成大写却是很实用的,平时去银行用得比较多,只要涉及金钱的时候,基本上都要求用大写。所以,这种转换看来是符合要求,因此,我用C#代码实现了其功能,并将用户输入用“,”分隔成三个一组的形式,可以实现百万亿级别的数字转换。下面我帖出部分代码,大家指正: 其他输入验证我就不帖出来了,只把核心代码帖出来class Chinese { public string returnResult(long num) { string numStr = num.ToString(); //主要理念是把数字字符串最终分隔为四个一组四个一组的,不足的不管。 if (numStr.Length > 8 & numStr.Length < 16) { //定义一个数组,存储整个字条串分隔后的字符串。然后两次递归调用。 //调用完全后,得到总的大写字符串。 string[] firstSplit = new string[2]; firstSplit[0] = numStr.Substring(0, numStr.Length - 8); firstSplit[1] = numStr.Substring(numStr.Length - 8, 8); string result1 = getString(firstSplit[0]) + "億"; string result2 = getString(firstSplit[1]); return result1 + result2; } else { return getString(numStr); } } //进行一次递归调用,得到两组四位数字的大字字串 public string getString(string str) { if (str.Length > 4) { string[] secondSplit = new string[2]; se乏稜催谷诎咐挫栓旦兢condSplit[0] = str.Substring(0, str.Length - 4); secondSplit[1] = str.Substring(str.Length - 4, 4); string result1 = getRe(secondSplit[0]); string result2 = getRe(secondSplit[1]); //确定是否加“万”字 if (!secondSplit[0].Equals("0000")) { result1 += "萬&quo......余下全文>>

-09-01 00:26赵颐轩 客户经理

在阿拉伯数字的格上点右键“设置单元格格式”——数字——特殊——中文大写

热心网友

-09-01 00:20龚宇飞 客户经理

之前在CSDN论坛里,看有人Show了一些把中文大写转换成阿拉伯数字的程序代码,自己也用Java语言实现了程序设计,基本上能够实现十万亿以内的任何数字的转换。之前也帖出自己的实现代码。 但我个人认为,把大写转换为数字实际上是没有多少意义的。因为很少有把大写转为数字的,大多数都是把数字转换为大写。何况把大写转为数字并不是一件很容易的事情,因为汉语大写有很多种说法,比如说:101,它的汉语说法可以有好多种: (一)、百零一 (二)、一百零一 (三)、一百又一 (四)、幺零幺 因此,要实现起来其实是很难的。而且还要防止用户输入大小写不固定,一会输入“一百零一”,一会又输入“壹佰零壹”,或者是二者的杂合体。形式千变万化,何况这一个数字就可以有这么多种,还有那么多特殊的数字呢?除非用成统一标准的输入。否则是很容易出现问题的。 但是,数字转换成大写却是很实用的,平时去银行用得比较多,只要涉及金钱的时候,基本上都要求用大写。所以,这种转换看来是符合要求,因此,我用C#代码实现了其功能,并将用户输入用“,”分隔成三个一组的形式,可以实现百万亿级别的数字转换。下面我帖出部分代码,大家指正: 其他输入验证我就不帖出来了,只把核心代码帖出来class Chinese { public string returnResult(long num) { string numStr = num.ToString(); //主要理念是把数字字符串最终分隔为四个一组四个一组的,不足的不管。 if (numStr.Length > 8 & numStr.Length < 16) { //定义一个数组,存储整个字条串分隔后的字符串。然后两次递归调用。 //调用完全后,得到总的大写字符串。 string[] firstSplit = new string[2]; firstSplit[0] = numStr.Substring(0, numStr.Length - 8); firstSplit[1] = numStr.Substring(numStr.Length - 8, 8); string result1 = getString(firstSplit[0]) + "亿"; string result2 = getString(firstSplit[1]); return result1 + result2; } else { return getString(numStr); } } //进行一次递归调用,得到两组四位数字的大字字串 public string getString(string str) { if (str.Length > 4) { string[] secondSplit = new string[2]; secondSplit[0] = str.Substring(0, str.Length - 4); secondSplit[1] = str.Substring(str.Length - 4, 4); string result1 = getRe(secondSplit[0]); string result2 = getRe(secondSplit[1]); //确定是否加“万”字 if (!secondSplit[0].Equals("0000")) { result1 += "万"; } retu......余下全文>>

-09-01 00:17连丽芳 客户经理

EXCEL中阿拉伯数字可通过设置单元格格式转换成中文:

转换为小写汉字,设置单元格格式--数字--特殊--中文小写数字;

转换为大写汉字,设置单元格格式--数字--特殊--中文大写数字;

也可以通过自定义来设置,设置单元格格式--数字--自定义--类型:[DBNum1]为小写汉字,[DBNum2]为大写汉字。

-09-01 00:14赵首永 客户经理

我这有一个金额应该就是你要的那种,要是你不要元角分把它们去掉就好。 关于大小写,你对应改下就好。 要是还是不行就追问我。

public class Trans2RMB { /**

* 测试程序的可行性

* @param args

*/

public static void main(String[] args) {

System.out.println(" 担处曹肺丨镀查僧肠吉2;n--------将数字转换成中文金额的大写形式------------\n");

Trans2RMB t2r = new Trans2RMB();

String s = t2r.cleanZero(t2r.splitNum(t2r.roundString(t2r.getNum())));

// 如果转换过后是一个空串,则不输出屏幕

if(!"".equals(s)) {

System.out.println("转换成中文后为:" + s);;

}

System.out.println("\n---------------------------------------------");

}

/**

* 从命令行接收一个数,在其中调用 checkNum() 方法对其进行

* 验证,并返回相应的值

* @return 如果输入合法,返回输入的这个数

*/

private String getNum() {

String s = null;

System.out.println("请输入一个数字(精确到小数点后两位):");

// 从命令行输入这个浮点数

java.util.Scanner scanner = new java.util.Scanner(System.in);

s = scanner.next();

// 关闭这个Scanner

scanner.close();

// 判断用户输入是否合法

// 若合法,返回这个值;若非法返回 "0"

if(this.checkNum(s)) {

return s;

} else {

return "";

}

}

/**

* 判断用户输入的数据是否合法,用户只能输入大于零的数字,不能输入其它字符

* @param s String

* @return 如果用户输入数据合法,返回 true,否则返回 false

*/

private boolean checkNum(String s) {

// 如果用户输入的数里有非数字字符,则视为非法数据,返回 false

try {

float f = Float.valueOf(s);

// 如果这个数小于零则视为非法数据,返回 false

if(f < 0) {

System.out.println("非法数据,请检查!");

return false;

}else {

return true;

}

} catch (N......

热心网友

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。