java处理保留小数点后几位

数字转字符串

复制代码 代码如下:

方式一:

double num = 12345.6789; String s = num + “”; //
这转换方式也太奇特了吧,但是很多人在用 String s =
String.valueOf(result); // 不喜欢上面那种方式,可用这种。

mport java.text.DecimalFormat;  

四舍五入 
double   f   =   111231.5585; 
BigDecimal   b   =   new   BigDecimal(f); 
double   f1   =   b.setScale(2,  
BigDecimal.ROUND_HALF_UP).doubleValue(); 
保留两位小数 
————————————————————— 

保留两位小数—转换为字符串类型

DecimalFormat    df   = new DecimalFormat(“######0.00”);  

方式二:

String s1 = String.format(“%.2f”, 12345.6789); // 12345.68

double d1 = 3.23456 
double d2 = 0.0;
double d3 = 2.0;
df.format(d1);
df.format(d2);
df.format(d3);

java.text.DecimalFormat   df   =new  
java.text.DecimalFormat(“#.00”); 
df.format(你要格式化的数字);

关于 String.format
的详细用法,请参见:JAVA字符串格式化-String.format()的使用。

3个结果分别为:

例:new java.text.DecimalFormat(“#.00”).format(3.1415926)

保留两位小数—仍然保留 double 格式

复制代码 代码如下:

#.00 表示两位小数 #.0000四位小数 以此类推…

double num = 12345.6789; double result = Math.round(num * 100) / 100d;
// 12345.68

3.23
0.00
2.00

方式三:

注意,数字 100 后加上 d,表示 100 是 double 类型。

java保留两位小数问题:

double d = 3.1415926;

因为后面的 100 如果不加 d,编译器会认为是整型,而
Math.round 结果也是整型,两个操作数都是整型的话,结果也是整型。

方式一:

String result = String .format(“%.2f”,d);

所以我们把后面这个 100 加个 d,让其中一个操作数变成
double,最终结果也就成了 double 了。

四舍五入 

%.2f %. 表示 小数点前任意位数   2 表示两位小数 格式后的结果为f
表示浮点型

千分位与补 0

复制代码 代码如下:

方式四:

DecimalFormat format = new DecimalFormat(“,##0.00”); String s =
format.format(123456789.9876); // 123,456,789.99

double   f   =   111231.5585; 
BigDecimal   b   =   new   BigDecimal(f); 
double   f1   =   b.setScale(2,  
BigDecimal.ROUND_HALF_UP).doubleValue(); 

NumberFormat ddf1=NumberFormat.getNumberInstance() ;

说明:

保留两位小数 

void setMaximumFractionDigits(int digits)
digits 显示的数字位数
为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的

  • 使用 DecimalFormat,要引用包 java.text,而不是 android.icu.text。
  • 格式字符串中
    # 表示如果数字没那么多位,就空着;0 表示如果数字没那么多位,就用
    0 代替。
  • 可以看出 DecimalFormat 在某些功能上可以代替前面的
    String.format,但使用上不如 String.format 便利。

方式二:

import java.text.* ;
import java.math.* ;
class TT
{
public static void main(String args[])
{ double x=23.5455;
NumberFormat ddf1=NumberFormat.getNumberInstance() ;

百分比

复制代码 代码如下:

ddf1.setMaximumFractionDigits(2);
String s= ddf1.format(x) ;
System.out.print(s);
}
}

DecimalFormat format = new DecimalFormat(“0.00%”); String s =
format.format(0.56789); // 56.79%

java.text.DecimalFormat   df   =new  
java.text.DecimalFormat(“#.00”); 
df.format(你要格式化的数字);

例:

复制代码 代码如下:

new java.text.DecimalFormat(“#.00”).format(3.1415926)

#.00 表示两位小数 #.0000四位小数 以此类推…

方式三:

复制代码 代码如下:

double d = 3.1415926;
String result = String .format(“%.2f”);

%.2f %. 表示 小数点前任意位数   2 表示两位小数 格式后的结果为f
表示浮点型

方式四:

复制代码 代码如下:

NumberFormat ddf1=NumberFormat.getNumberInstance() ;
void setMaximumFractionDigits(int digits)

digits 显示的数字位数
为格式化对象设定小数点后的显示的最多位,显示的最后位是舍入的

复制代码 代码如下:

import java.text.* ;
import java.math.* ;
class TT
{
public static void main(String args[])
{ double x=23.5455;
NumberFormat ddf1=NumberFormat.getNumberInstance() ;

ddf1.setMaximumFractionDigits(2);
String s= ddf1.format(x) ;
System.out.print(s);
}
}

复制代码 代码如下:

import java.text.*;

DecimalFormat df=new DecimalFormat(“.##”);
double d=1252.2563;
String st=df.format(d);
System.out.println(st);

您可能感兴趣的文章:

  • java线程的run()没有返回值怎么办?
  • Java调用MySQL存储过程并获得返回值的方法
  • java多线程返回值使用示例(callable与futuretask)
  • java发送url请求获取返回值的二种方法
  • 在DWR中实现直接获取一个JAVA类的返回值的两种方法
  • java写入文件的几种方法分享
  • java中File类的使用方法
  • Java中去除字符串中所有空格的几种方法
  • Java
    替换字符串中的回车换行符的方法
  • java文件输出流写文件的几种方法
  • java实现从方法返回多个值功能示例
You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图