黑马程序员技术交流社区

标题: 急求java 整型100000转字符串100,00,0 [打印本页]

作者: lucky_xingxing    时间: 2012-3-8 22:05
标题: 急求java 整型100000转字符串100,00,0
急求java 整型100000转字符串100,00,0   怎么转呢
作者: 程小龙    时间: 2012-3-8 22:10
import java.text.DecimalFormat;
public class Money {
    public static void main(String[] args){
        int money=100000;
        DecimalFormat c=new DecimalFormat("###,###,###");
        System.out.println(c.format(money));
    }
}

作者: lucky_xingxing    时间: 2012-3-8 22:19
程小龙 发表于 2012-3-8 22:10
import java.text.DecimalFormat;
public class Money {
    public static void main(String[] args){

不对啊   打印出来不是
作者: 程小龙    时间: 2012-3-8 22:42
你这里应该是要用分组分隔符。分组分隔符通常用于千位,但是在某些国家中它用于分隔万位。分组大小是分组字符之间的固定数字位数,例如 100,000,000 是 3,而 1,0000,0000 则是 4。如果使用具有多个分组字符的模式,则最后一个分隔符和整数结尾之间的间隔才是使用的分组大小。所以 "#,##,###,####" == "######,####" == "##,####,####"。


作者: 泮和顺    时间: 2012-3-8 22:45
原样输出的话直接就int x=100000;然后输出a+""就行了 不知道是否要加标点???
作者: 黄秋    时间: 2012-3-9 05:53
看了java.text下的 ChoiceFormat,NumberFormat,DecimalFormat,感觉都不合用,自己用循环实现吧:
  1. public static void main(String[] args)
  2.    {
  3.      // int money=100000;
  4.      Integer money=10000000;
  5.      StringBuilder sb=new StringBuilder(money.toString());
  6.           for(int n=1,i=sb.length(); i>n; n++){
  7.           // for(int n=1,i=sb.length(); i>n; i=i-(++n)){
  8.                   i=i-n;
  9.                   sb.insert(i,",");
  10.           }
  11.          System.out.println(sb);       
  12.   }
复制代码

作者: 黄秋    时间: 2012-3-9 06:01
PS:int 类型,用:money+"" --转字符串
作者: lucky_xingxing    时间: 2012-3-9 10:45
黄秋 发表于 2012-3-9 05:53
看了java.text下的 ChoiceFormat,NumberFormat,DecimalFormat,感觉都不合用,自己用循环实现吧: ...

你这个for循环我没看懂
作者: lucky_xingxing    时间: 2012-3-9 10:55
程小龙 发表于 2012-3-8 22:42
你这里应该是要用分组分隔符。分组分隔符通常用于千位,但是在某些国家中它用于分隔万位。分组大小是分组字 ...

由于是不对应的 所以使用这个不能隔离开
作者: 黄秋    时间: 2012-3-9 15:08
lucky_xingxing 发表于 2012-3-9 10:45
你这个for循环我没看懂

分开两语句:
int i=sb.length();
for(int n=1;  i>n; n++) // i>n时循环退出
……

i>n --> i-n>0 ,那插入语句相当于 sb.insert(i-n,","); 索引 i-n=0 ,i=n 时,会“,100,00,0"--- 在索引0 的位置插入,i<n 时则会出错。
作者: baypm_jy    时间: 2012-3-11 17:44
package com.iwit.test;

import java.math.BigInteger;

class Testa {
        public static void main(String[] args)

        {
                String num = ConvertIntToString(100000);
                System.out.println(num);
        }

        public static String ConvertIntToString(long num) {
                BigInteger bi = BigInteger.valueOf(num);
                return bi.toString();
        }

}

作者: baypm_jy    时间: 2012-3-11 17:57
package com.iwit.test;

import java.math.BigInteger;

class Testa {
        public static void main(String[] args)

        {
                String num = ConvertIntToString(100000);
                System.out.println(num);
        }
       
        public static String ConvertIntToString(long num) {
                BigInteger bis=new BigInteger(String.valueOf(num));
                return bis.toString();
        }

}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2