java数字格式化为货币字符串
⑴ [JAVA]求一个将数字字符串转换成人民币读法的方法();
上午也看到有人问这个,不知道和Lz是不是同一个人~
我直接复制好了,那边的那个是我写的,要是有漏洞还希望可以积极指出,我会尽快完善:
package com.ufotable.test;
import java.math.BigDecimal;
public class Test8 {
public enum RMB{
角,分,元,十,百,千,万W,十万,百万,千万,亿Y,十亿,百亿,千亿,万W亿,十万亿,百万亿,千万亿,兆Z,十兆,百兆,千兆,万W兆,十万兆,百万兆,千万兆,亿Y兆
} public enum NUM{
零,壹,贰,叁,肆,伍,陆,柒,玐,玖
}
static String read(Integer rmb){
return read(rmb.toString());
}
static String read(double rmb){
return read(new BigDecimal(rmb).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
}
static String read(Long rmb){
return read(rmb.toString());
}
static String read(String rmb){
String str1=rmb.replaceAll("\\.\\d*", ""),
str2=rmb.replaceAll("[-]|\\d+\\.", ""),
str3="";
if(rmb.charAt(0)=='-'){str1=str1.substring(1);str3="负";}
int i = 0;
while(i<str1.length()){
int j = str1.length()-i+1;
int c=(str1.charAt(i++)-'0')%9;
str3+=NUM.values()[c].name()+
RMB.values()[j];
}
int j=0;
while(j<str2.length()&&j<2){
int c=(str2.charAt(j++)-'0')%9;
str3+=NUM.values()[c].name()+RMB.values()[j-1];
}
str3=str3.replaceAll("万", "").replaceAll("亿", "").replaceAll("兆", "").
replaceAll("零{1}[兆,亿,万,千,百,十,角]{1}", "零").
replaceAll("零+", "零").
replaceAll("W", "万").
replaceAll("Y", "亿").
replaceAll("Z", "兆").
replaceAll("零亿", "亿").
replaceAll("零万", "万").
replaceAll("零兆", "兆").
replaceAll("零元|元零", "元").
replaceAll("零分|元分", "元").
replaceAll("角元", "角");
return str3;
}
public static void main(String[] args) {
System.out.println(read(2411004444500203.405));
}
}
输出结果:
贰千肆百壹十壹万零肆十肆亿肆千肆百伍十万零贰百零叁元伍角
⑵ java中数字转换成指定的字符串要怎么转
intnum=1;
Stringstr=String.format("%03d",num);
System.out.println(str);
⑶ Java中将数字转换成字符串的问题,请问大神们,这四种转法有什么区别
第四种不是错误,可以这样转,只是这种转法在内存中等于多构建了2个对象,实在不划算
⑷ Java 将数字格式化为货币字符窜。。。下面这个程序应该怎么改!求高手!!
这里不对:Number number=new Number(System.in);
Number是一个抽象类,不能被实例化的 。
还有,就没有NumberFormat.FULL这个属性
⑸ java中怎么将数字转换成字符串
toString()方法转换成字符串。
⑹ java 数字转换成字符串
各种数字类型转换成字符串型:
String s = String.valueOf( value); // 其中 value 为任意一种数字类型。
字符串型转换成各种数字类型:
String s = "169";
byte b = Byte.parseByte( s );
short t = Short.parseShort( s );
int i = Integer.parseInt( s );
long l = Long.parseLong( s );
Float f = Float.parseFloat( s );
Double d = Double.parseDouble( s );
数字类型与数字类对象之间的转换:
byte b = 169;
Byte bo = new Byte( b );
b = bo.byteValue();
short t = 169;
Short to = new Short( t );
t = to.shortValue();
int i = 169;
b = bo.byteValue();
short t = 169;
Short to = new Short( t );
t = to.shortValue();
int i = 169;
Integer io = new Integer( i );
i = io.intValue();
long l = 169;
Long lo = new Long( l );
l = lo.longValue();
float f = 169f;
Float fo = new Float( f );
f = fo.floatValue();
double d = 169f;
Double dObj = new Double( d );
d = dObj.doubleValue();
⑺ java 用字符串实现加减法 包括两位小数 金额格式化 可以为正负 跪求!!!!!!
只写一个加法的部分的核心代码,其他类似:
public String calculateAdd( String a,String b)throws Exception{
double a=Double.parseDouble(a);
double b=Double.parseDouble(b);
double result=a+b;
NumberFormat nf2 =
NumberFormat.getInstance(Locale.GERMAN); // 得到德国的格式 ,这里可以设置不
//同国家的格式,无参默认本地
String resultStr=nf2.format(result);
System.out.println(resultStr);
return resultStr;
}
注意:1.传入的参数是数字组成的字符串,不然会出错
2.写代码时注意引包
⑻ java中如何将数字转化为字符串并且不足位数补0
具体操作如下:
String str1="1";
DecimalFormatdf=new DecimalFormat("0000");
String str2=df.format(Integer.parseInt(str1));
System.out.println(str2);
JAVA
介绍:
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
简介:
1、它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。
2、Java的主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术,现在网上关于这方面的教程有很多,但很多都是过时的,因为互联网是在不断的变化的,互联网上的牛人,要想成为Java大神,走进这条Java大神之群,首先Java教程的开头是二三一,Java的最中间是三一四,Java的最后面再加上零二八,把前面的综合起来,Java大神期待你的加入。这里有很多互联网大牛教你学习,还有免费的课程。不是想学习的就不要加了。