关于转换大写中文金额-新学的java函数整理

时间:2023-03-09 15:37:19
关于转换大写中文金额-新学的java函数整理

toCharArray

   public char[] toCharArray()
将此字符串转换为一个新的字符数组。
返回:
一个新分配的字符数组,它的长度是此字符串的长度,而且内容被初始化为包含此字符串表示的字符序列
Insert()函数
buffer.insert(0,100); 100
buffer.insert(0,2.5F); 2.5100
buffer.insert(3,'*'); 2.5*100
buffer.insert(0,250.0D); 250.02.5*100
buffer.insert(5,"is equal to"); 250.0 is equal to 2.5*100
append()函数
append(String str),连接一个字符串到末尾。append有很多重载方法.
delete(int start,
int end)删除指定位置的字符串。
deleteCharAt(int index)删除指定角标的字符。
方法很多,说也说不完。看看API文档吧。很简单的。

另外需要注意的是,StringBuffer是线程安全的,多用于多线程。
有时候,需要将较短的字符串构建为长的字符串,例如,按键或来自文件中的单词。采用字符串连接的方式效率低。每次连接字符串,都会构建一个新的String对象,即耗时又浪费空间。可以使用StringBuffer。

parseInt( ) 的定义:
parseInt() 函数可解析一个字符串,并返回一个整数。[1] 
parseInt( ) 的语法:
parseInt ( String s , [ int radix ] )[1] 
其中,
参数 String s ,必需,表示要被解析的字符串。[1] 
int radix ,可选,表示要解析的数字的基数。[1] 
该函数使用第二个参数指定的基数,其值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。[1] 
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。[1] 
除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数10作为参数赋予 parseInt(java.lang.String, int) 方法一样。
JavaScript中的parseInt()简言之,就是将字符串型变量转换成整型int。
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。

separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽
略该选项,返回包含整个字符串的单一元素数组。

limit
可选项。该值用来限制返回数组中的元素个数。

说明:
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解
。separator 不作为任何数组元素的部分返回。

举例:
public class SplitDemo {

public static String[] ss = new String[20];

public SplitDemo() {

String s = "The rain in Spain falls mainly in the plain.";
// 在每个空格字符处进行分解。
ss = s.split(" ");
}

public static void main(String[] args) {

SplitDemo demo = new SplitDemo();
for (int i = 0; i < ss.length; i++)
System.out.println(ss[i]);
}

}

程序结果:
The
rain
in
Spain
falls
mainly
in
the
plain.

public string[] split(string regex)
这里的参数的名称是 regex ,也就是 regular expression (正则表达式)。这个参数并不是一个简单的分割用的字符,而是一个正则表达式,看了 split 方法的实现代码就更坚定了我们的信心:

public string[] split(string regex, int limit) {
return pattern.compile(regex).split(this, limit);
}
split 的实现直接调用的 matcher 类的 split 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
只要将
String[] names = value.split(".");
改为
String[] names = value.split("//.");
就可以了。

输出结果:
192
168
128
33

补充说明:
public String[] split(String regex,int limit)根据匹配给定的正则表达式来拆分此字符串。
此方法返回的数组包含此字符串的每个子字符串,这些子字符串由另一个匹配给定的表达式的子字符串终止或由字符串结束来终止。数组中的子字符串按它们在此字符串中的顺序排列。如果表达式不匹配输入的任何部分,则结果数组只具有一个元素,即此字符串。

limit
参数控制模式应用的次数,因此影响结果数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于
n,而且数组的最后项将包含超出最后匹配的定界符的所有输入。如果 n 为非正,则模式将被应用尽可能多的次数,而且数组可以是任意长度。如果 n
为零,则模式将被应用尽可能多的次数,数组可有任何长度,并且结尾空字符串将被丢弃。

例如,字符串 "boo:and:foo" 使用这些参数可生成下列结果:

Regex Limit 结果

: 2 { "boo", "and:foo" }
: 5 { "boo", "and", "foo" }
: -2 { "boo", "and", "foo" }
o 5 { "b", "", ":and:f", "", "" }
o -2 { "b", "", ":and:f", "", "" }
o 0 { "b", "", ":and:f" }

这种形式的方法调用 str.split(regex, n) 产生与以下表达式完全相同的结果:

Pattern.compile(regex).split(str, n)

参数:
regex - 定界正则表达式
limit - 结果阈值,如上所述
返回:
字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组
抛出:
PatternSyntaxException - 如果正则表达式的语法无效
从以下版本开始:
1.4

public String[] split(String regex)根据给定的正则表达式的匹配来拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,结果数组中不包括结尾空字符串。

例如,字符串 "boo:and:foo" 产生带有下面这些表达式的结果:

Regex 结果
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }

参数:
regex - 定界正则表达式
返回:
字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组。
抛出:
PatternSyntaxException - 如果正则表达式的语法无效

NumberFormat 表示数字的格式化类, 即:可以按照本地的风格习惯进行数字的显示。

此类的定义如下:

public abstract class NumberFormat extends Format

关于转换大写中文金额-新学的java函数整理

MessageFormat 、DateFormat 、NumberFormat 是 Format 三个常用的子类,如果要想进一步完成一个好的国际化程序,则肯定需要同时使用这样三个类完成,根据不同的国家显示贷币的形式。

此类还是在java.text 包中,所以直接导入此包即可。

  1. import java.text.* ;
  2. public class NumberFormatDemo01{
  3. public static void main(String args[]){
  4. NumberFormat nf = null ;        // 声明一个NumberFormat对象
  5. nf = NumberFormat.getInstance() ;   // 得到默认的数字格式化显示
  6. System.out.println("格式化之后的数字:" + nf.format(10000000)) ;
  7. System.out.println("格式化之后的数字:" + nf.format(1000.345)) ;
  8. }
  9. };

DecimalFormat 的基本使用

是NumberFormat 类的子类,主要的作用是用来格式化数字使用,当然,在格式化数字的时候要比直接使用NumberFormat
更加方便,因为可以直接指定按用户自定义方式进行格式化操作,与之前讲的SimpleDateFormat类似,如果要想进行自定义格式化操作,则必须指
定格式化操作的模板。

关于转换大写中文金额-新学的java函数整理

  1. import java.text.* ;
  2. class FormatDemo{
  3. public void format1(String pattern,double value){   // 此方法专门用于完成数字的格式化显示
  4. DecimalFormat df = null ;           // 声明一个DecimalFormat类的对象
  5. df = new DecimalFormat(pattern) ;   // 实例化对象,传入模板
  6. String str = df.format(value) ;     // 格式化数字
  7. System.out.println("使用" + pattern
  8. + "格式化数字" + value + ":" + str) ;
  9. }
  10. };
  11. public class NumberFormatDemo02{
  12. public static void main(String args[]){
  13. FormatDemo demo = new FormatDemo() ;    // 格式化对象的类
  14. demo.format1("###,###.###",111222.34567) ;
  15. demo.format1("000,000.000",11222.34567) ;
  16. demo.format1("###,###.###¥",111222.34567) ;
  17. demo.format1("000,000.000¥",11222.34567) ;
  18. demo.format1("##.###%",0.345678) ;
  19. demo.format1("00.###%",0.0345678) ;
  20. demo.format1("###.###\u2030",0.345678) ;
  21. }
  22. };