跳至正文

java格式化数字,java格式化数字字符串

java格式化数字是什么意思?

java格式化数字是什么意思?

在java中,用java.text包下的DecimalFormat类对数据进行格式化,它可以把数字格式化成一个你想要那种格式的字符串,也可以把格式字符串变成数字:例如: DecimalFormat df=new DecimalFormat("¥###,###.00"); String s=df.format(123.45); System.out.println(s); 结果为字符串¥123.45 当然也可以字符串转成数字: System.out.println(df.parse(s)); 结果为数字123.45

java数字格式化

java数字格式化

1. 用 %3.2f格式化后, 替换逗号即可;

2. 同理, 用 #,##0.00 格式化后, 替换, 为空格即可.

你的需求:

1

2

3

4

5

doublex = 1234.5;

DecimalFormat df = newDecimalFormat(“#,###.0”);

String xs = df.format(x);

xs = xs.replace(“,”, ” “).replace(“.”, “,”);

System.out.println(xs);

输出

1

1234,5

JAVA里面如何格式化数字

JAVA里面如何格式化数字

楼主你好!给你写了个测试类希望能帮助你。这两个个方法只需要传入你要格式话的数据,就可以返回你想要的结果了。

package com.line;

public class T9 {

/**

* 格式化一般数据为财务格式,eg:123,456,789.00

*

* @param source

* String

* @return String

*/

public static String getCaiWuData(String source) {

StringBuffer str = new StringBuffer(“”);

if (source != null && !source.equals(“”) && source.length() > 0

&& !source.equals(“null”)) {

if (source.lastIndexOf(“,”) > 0) {

source =formatStr(source);

}

int dotIndex = 0;

if (source.indexOf(“.”) < 0) {

source += “.00”;

}

dotIndex = source.indexOf(“.”);

int index = 0;

String opt = “”;

opt = source.substring(0, 1);

if (opt.equals(“-“)) {

source = source.substring(1);

str.append(“-“);

dotIndex = source.indexOf(“.”);

}

if (dotIndex < 3) {

index += 1;

str.append(source.substring(0, dotIndex));

}

if (dotIndex % 3 == 0) {

index += dotIndex / 3;

} else {

index += (dotIndex – dotIndex % 3) / 3;

}

if (index > 0 && dotIndex >= 3) {

for (int i = index; i > 0; i–) {

if (i == index) {

str.append(source.substring(0, dotIndex – i * 3));

}

if (dotIndex – i * 3 > 0) {

str.append(“,”);

}

if (i >= 1) {

str.append(source.substring(dotIndex – i * 3, dotIndex

– (i – 1) * 3));

}

}

}

str.append(source.substring(dotIndex));

}

if (source.length() – source.lastIndexOf(“.”) < 3) {

str.append(“0”);

}

int dot_index = str.toString().indexOf(“.”) + 2;

int str_len = str.toString().length();

char[] strArr = str.toString().toCharArray();

StringBuffer rev = new StringBuffer();

for (int i = str_len – 1; i > 0; i–) {// 除去尾数0,小数点后保留2位

if (i > dot_index

&& Integer.parseInt(new Character(strArr[i]).toString()) > 0) {

rev.append(str.toString().substring(0, i + 1));

break;

} else if (i == dot_index && (int) strArr[i] >= 0) {

rev.append(str.toString().substring(0, dot_index + 1));

break;

}

}

return rev.toString();

}

/**

* 格式化财务数据为一般字符串,eg:123456789.00

*

* @param source

* String

* @return String

*/

public static String formatStr(String source) {

StringBuffer str = new StringBuffer(“”);

if (source != null && !source.equals(“”) && source.length() > 0

&& !source.equals(“null”)) {

String temp = source.substring(0, 1);

if (temp.equals(“-“)) {

source = source.substring(1);

str.append(“-“);

}

String[] myarr = source.split(“,”);

int lastIndex = source.lastIndexOf(“,”);

if (lastIndex > 0) {

for (int i = 0; i < myarr.length; i++) {

str.append(myarr[i]);

}

}

if (source.lastIndexOf(“,”) < 0) {

str.append(source);

}

if (source.lastIndexOf(“.”) < 0) {

str.append(“.00”);

}

if (source.length() – source.lastIndexOf(“.”) < 3

&& !”0″.equals(source)) {

str.append(“0”);

}

} else {

return (str.append(“0.00”).toString());

}

return str.toString();

}

/**

* @param args

*/

public static void main(String[] args) {

T9 t=new T9();

System.out.println(t.getCaiWuData(“1231313”));

System.out.println(t.formatStr(“1,231,313.00”));

}

}

Java中数字格式化的方法

package test; import java.text.DecimalFormat; public class Test { public static void main(String[] args) { int aa = 555; DecimalFormat decimalFormat = new DecimalFormat("00000000"); String ss = decimalFormat.format(aa); System.out.println(ss); } }

java实现数值千分位格式化且保留指定小数位且小数位不进行四舍五入

保留指定位数能进行四舍五入

public static void main(String[] args) {

String str =”12312323423423.123283123″;

BigDecimal b = new BigDecimal(str);

//,代表分隔符

//0.后面的##代表位数 如果换成0 效果就是位数不足0补齐

DecimalFormat d1 =new DecimalFormat(“#,##0.####;(#)”);

System.out.println(d1.format(b));

}

不四舍五入的方法

String str =”12312323423423.123283923″;

BigDecimal b = new BigDecimal(str);

//,代表分隔符

//.后面的##代表位数 如果换成0 效果就是位数不足0补齐

DecimalFormat d1 =new DecimalFormat(“#,##0.######”);

// 设置舍入模式

d1.setRoundingMode(RoundingMode.FLOOR);

System.out.println(d1.format(b));

JAVA 把字符串.0001格式化成0.0001

import java.text.NumberFormat;

public class FloatFormat {

/**

* 参数 original:

* 原来的浮点格式

* 返回值:

* 修正后的浮点格式

*/

public static String changeFormat(String original) {

if (original.startsWith(“.”)) {

if (original.endsWith(“.”)) {

return “0” + original.substring(0, original.length() – 1);

}

return “0” + original;

}

if (original.endsWith(“.”)) {

return original.substring(0, original.length() – 1);

}

return original;

}

public static void main(String[] args) {

// 通过5个典型测试数据

System.out.println(changeFormat(“345345.0001”));

System.out.println(changeFormat(“.0001”));

System.out.println(changeFormat(“.”));

System.out.println(changeFormat(“345345.”));

System.out.println(changeFormat(“1.1E-4”));

// Output:

// 345345.0001

// 0.0001

// 0

// 345345

}

}

Java中数字格式化的问题

java中四舍五入也分好几种情况。

1、 ROUND_UP:远离零方向舍入。向绝对值最大的方向舍入,只要舍弃位非0即进位。

2、 ROUND_DOWN:趋向零方向舍入。向绝对值最小的方向输入,所有的位都要舍弃,不存在进位情况。

3、 ROUND_CEILING:向正无穷方向舍入。向正最大方向靠拢。若是正数,舍入行为类似于ROUND_UP,若为负数,舍入行为类似于ROUND_DOWN。Math.round()方法就是使用的此模式。

4、 ROUND_FLOOR:向负无穷方向舍入。向负无穷方向靠拢。若是正数,舍入行为类似于ROUND_DOWN;若为负数,舍入行为类似于ROUND_UP。

5、 HALF_UP:最近数字舍入(5进)。这是我们最经典的四舍五入。

6、 HALF_DOWN:最近数字舍入(5舍)。在这里5是要舍弃的。

7、 HAIL_EVEN:银行家舍入法。

java DecimalFormat格式化数字

没有区别 但如果是0.## 和 0.00的话就可以看出区别了 假设要转换的数字是5 使用0.00转换后结果是5.00 而如果是0.##结果就是5

java 已知 String i=1; 怎样使用正则 转换成 0001

1. 用DecimalFormat进行数字格式化 import java.text.DecimalFormat; public class $ { public static void main(String[] args) { DecimalFormat f = new DecimalFormat("0000"); int i = 1; String str = f.format(i); System.out.println(str); } }

java.text.DecimalFormat如何将数字格式化为金额格式,而且小数点保留任意位

DecimalFormat myformat = new DecimalFormat(); myformat.applyPattern("##,###.000"); System.out.println(myformat.format(11112345.12345));