当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
计算机二级辅导:JavaDouble的精度问题
发布时间:2010/3/13 9:36:09 来源:城市学习网 编辑:MOON
  java.text
  类 DecimalFormat
  java.lang.Object
  java.text.Format
  java.text.NumberFormat
  java.text.DecimalFormat
  void setMaximumFractionDigits(int newValue) 设置某个数的小数部分中所允许的最大数字位数。
  void setMinimumFractionDigits(int newValue) 设置某个数的小数部分中所允许的最小数字位数。
  //Main.java
  import java.util.*;
  import java.text.*;
  public class Main{
  public static void main(Stringargs){
  try{
  Scanner input=new Scanner(System.in);
  double n=input.nextDouble();
  System.out.println(SicenToComm(n));
  }catch(Exception e){
  }
  }
  public static String SicenToComm(double value) { //保留小数点后3位(四舍五入),且不按科学计数法输出
  String retValue = null;
  DecimalFormat df = new DecimalFormat();
  df.setMinimumFractionDigits(3);
  df.setMaximumFractionDigits(3);
  retValue = df.format(value);
  retValue = retValue.replaceAll(",", "");
  return retValue;
  }
  }
  //测试用例:
  1。E:“java“lilongfei“java精度问题java Main
  45.2222
  45.222
  2。E:“java“lilongfei“java精度问题java Main
  45.000000000000
  45.000
  3。E:“java“lilongfei“java精度问题java Main
  45.33366666
  45.334
  4。E:“java“lilongfei“java精度问题java Main
  45555555555555
  45555555555555.000
  5。E:“java“lilongfei“java精度问题java Main
  0.0000006
  0.000
  :
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved