格式化数字java
⑴ java里面如何格式化数字
java提供了格式化double类型的方法:NumberFormat.getInstance().format(a);这个是java内置的函数可以直接格式化double类型的数字;NumberFormat要导入import java.text.NumberFormat;即可。
⑵ Java中的数字格式化.....myFormat.format(value);,在JDK1.6文档中没发现只有一个参数的format()方法啊
可能是创建了一个类继承了Formatter,然后重载了该类的format方法,使得这个方法直接一个参数。代码可能是这样的:
publicStringformat(Stringvalue){
returnthis.format(value,Object...args);//此处的格式的方法可能使用了特定的方法。
}
⑶ java 怎样将string 格式化
在java中,将浮点数格式化为string,一般使用DecimalFormat。DecimalFormat的用法示例如下:DecimalFormatdf=newDecimalFormat();doubledata=1234.56789;System.out.println("格式化之前的数字:"+data);Stringstyle="0.0";//定义要显示的数字的格式df.applyPattern(style);//将格式应用于格式化器System.out.println("采用style:"+style+"格式化之后:"+df.format(data));style="00000.000kg";//在格式后添加诸如单位等字符df.applyPattern(style);System.out.println("采用style:"+style+"格式化之后:"+df.format(data));//模式中的"#"表示如果该位存在字符,则显示字符,如果不存在,则不显示。style="##000.000kg";df.applyPattern(style);System.out.println("采用style:"+style+"格式化之后:"+df.format(data));//模式中的"-"表示输出为负数,要放在最前面style="-000.000";df.applyPattern(style);System.out.println("采用style:"+style+"格式化之后:"+df.format(data));//模式中的","在数字中添加逗号,方便读数字style="-0,000.0#";df.applyPattern(style);System.out.println("采用style:"+style+"格式化之后:"+df.format(data));//模式中的"E"表示输出为指数,"E"之前的字符串是底数的格式,//"E"之后的是字符串是指数的格式style="0.00E000";df.applyPattern(style);System.out.println("采用style:"+style+"格式化之后:"+df.format(data));//模式中的"%"表示乘以100并显示为百分数,要放在最后。style="0.00%";df.applyPattern(style);System.out.println("采用style:"+style+"格式化之后:"+df.format(data));//模式中的"\u2030"表示乘以1000并显示为千分数,要放在最后。style="0.00\u2030";//在构造函数中设置数字格式DecimalFormatdf1=newDecimalFormat(style);//df.applyPattern(style);System.out.println("采用style:"+style+"格式化之后:"+df1.format(data));下面是总结:格式化之前的数字:1234.56789采用style:0.0格式化之后:1234.6采用style:00000.000kg格式化之后:01234.568kg采用style:##000.000kg格式化之后:1234.568kg采用style:-000.000格式化之后:-1234.568采用style:-0,000.0#格式化之后:-1,234.57采用style:0.00E000格式化之后:1.23E003采用style:0.00%格式化之后:123456.79%采用style:0.00‰格式化之后:1234567.89‰
⑷ java DecimalFormat格式化数字
没有区别
但如果是0.##
和
0.00的话就可以看出区别了
假设要转换的数字是5
使用0.00转换后结果是5.00
而如果是0.##结果就是5
⑸ java怎么格式化输出数字
使用System.out.printf(格式化字符串,参数)
int a = 5;
数字的话System.out.printf("%d",a);
//"%"表示进行格式化输出,"%"之后的内容为格式的定义。
System.out.printf("%f",d);//"f"表示格式化输出浮点数。
System.out.println();
System.out.printf("%9.2f",d);//"9.2"中的9表示输出的长度,2表示小数点后的位数。
System.out.println();
System.out.printf("%+9.2f",d);//"+"表示输出的数带正负号。
System.out.println();
System.out.printf("%-9.4f",d);//"-"表示输出的数左对齐(默认为右对齐)。
System.out.println();
System.out.printf("%+-9.3f",d);//"+-"表示输出的数带正负号且左对齐。
System.out.println();
System.out.printf("%d",i);//"d"表示输出十进制整数。
System.out.println();
System.out.printf("%o",i);//"o"表示输出八进制整数。
System.out.println();
System.out.printf("%x",i);//"d"表示输出十六进制整数。
System.out.println();
System.out.printf("%#x",i);//"d"表示输出带有十六进制标志的整数。
System.out.println();
System.out.printf("%s",s);//"d"表示输出字符串。
System.out.println();
System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s",d,i,s);
//可以输出多个变量,注意顺序。
System.out.println();
System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x",i,s);
//"X$"表示第几个变量。
⑹ java数字格式化
用 %3.2f格式化后, 替换逗号即可;
同理, 用 #,##0.00 格式化后, 替换, 为空格即可.
你的需求:
doublex=1234.5;
DecimalFormatdf=newDecimalFormat("#,###.0");
Stringxs=df.format(x);
xs=xs.replace(",","").replace(".",",");
System.out.println(xs);
输出
1234,5
⑺ java数字如何格式化
public static String xxx(String aa) {
String flag = "";
if (aa.length() > 4) {
flag = aa.substring(0, 3) + "." + aa.substring(3, 4);
} else {
flag = aa;
}
return flag;
}
//当然可以继续判断大于5为四舍五入
⑻ 怎么在java中设置数字格式化
格式你应该能看明白?
DecimalFormatdf=newDecimalFormat("###,###.000");
System.out.println(df.format(123213861273L));
⑼ java 格式化数字 格式化要显示的数字 比方4.00就让它显示为4 ;4.02就显示4.02 用什么方法
如果是在页面展示你可以直接用jstl标签(不知道你搜一下就懂了很好用),如果是后台操作你可以用一楼所说,如果是decimal类型的话就直接可以格式化,他有个方法setscale
⑽ java输入一串数字,将数字格式化,例如输入1990921000 -〉 1,990,921,000
使用Java的printf即可,代码如下:
importjava.util.Scanner;
publicclassMain
{
publicstaticvoidmain(String[]args)
{
try(Scannersc=newScanner(System.in))
{
System.out.printf("%,d",sc.nextInt());
}
}
}