如标题所属,把一个float型数据转为字符串,12,345,678.90这种形式?

解决方案 »

  1.   

    String.format("%1$,.2f", 12345678.9)
      

  2.   

        String formatFloat(float num) {
            StringBuffer buf = new StringBuffer(Float.toString(num));
            buf = buf.reverse();
            int dotPos = buf.indexOf(".");
            final int start = dotPos == -1 ? 0 : dotPos;
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < buf.length(); ++i) {
                if ((i - start) % 3 == 0 && (i - start) != 0) {
                    sb.append(',');
                }
                sb.append(buf.charAt(i));
            }
            return sb.reverse().toString();
        }
      

  3.   


    float f = 12345678.9f;
    String str = String.format("%.2f", f).replaceAll("(?=(\\d{3})+\\.)", ",");
      

  4.   


    NumberFormat numberFormat = new DecimalFormat("####,###");
    System.out.println(numberFormat.format(Integer.parseInt("1234564589")));
    需要注意int类型的长度