方式一
double f = ;
BigDecimal b = new BigDecimal(f)
double f = bsetScale( BigDecimalROUND_HALF_UP)doubleValue()
//数字是保留两位小数BigDecimalROUND_HALF_UP是上捨入的捨入模式
方式二
javatextDecimalFormat df = new javatextDecimalFormat(#)
dfformat(你要格式化的数字)
例new javatextDecimalFormat(#)format()
# 表示两位小数#四位小数 以此类推…
方式三
double d = ;
String result = String format(%f)
%f % 表示 小数点前任意位数 表示两位小数 格式后的结果为f 表示浮点型
方式四
NumberFormat ddf=NumberFormatgetNumberInstance()
void setMaximumFractionDigits(int digits)
digits 显示的数字位数为格式化对象设定小数点后的显示的最多位显示的最后位是捨入的
import javatext* ;
import javamath* ;
class TT
{public static void main(String args[])
{ double x=;
NumberFormat ddf=NumberFormatgetNumberInstance()
ddfsetMaximumFractionDigits()
String s= ddfformat(x)
Systemoutprint(s)}}
例子
/*
* Doublejava
*
* By:tw
* 用于输出双精度数值的小数位数
*/
package dou;
import javautil*;
import javatext*;
public class Double{
public static void main(String[] args){
Scanner input=new Scanner(Systemin)
Systemoutprint(请输入一个数值)
double num=inputnextDouble()//输入一个数值
DecimalFormat df=new DecimalFormat()//保留一位小数
DecimalFormat dg=new DecimalFormat()//保留两位小数
DecimalFormat dh=new DecimalFormat()//保留三位小数
String strnum=dfformat(num)//将num转换为字符串型
String strnum=dgformat(num)
String strnum=dhformat(num)
Systemoutprintln(一位小数位+strnum)//输出一位小数
Systemoutprintln(两位小数位+strnum)
Systemoutprintln(三位小数位+strnum)}}