黑马程序员技术交流社区

标题: 怎么算2/3然后要求值是小数保留两位小数呢? [打印本页]

作者: 幸福小米粥    时间: 2014-6-20 16:48
标题: 怎么算2/3然后要求值是小数保留两位小数呢?
怎么算2/3然后要求值是小数保留两位小数呢?

作者: iWilliam    时间: 2014-6-20 17:33
本帖最后由 iWilliam 于 2014-6-20 17:35 编辑

不多说,先上代码~

  1. import java.text.DecimalFormat;

  2. public class Test
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 double val1 = compute1(2, 3);
  7.                 System.out.println(val1);

  8.                 double val2 = compute2(2, 3);
  9.                 System.out.println(val2);
  10.         }
  11.         public static double compute1(int x, int y)
  12.         {
  13.                 return Double.parseDouble(new DecimalFormat("#.00").format(1.0 * x / y));
  14.         }
  15.         public static double compute2(int x, int y)
  16.         {
  17.                 return Double.parseDouble(String.format("%.2f", 1.0 * x / y));
  18.         }
  19. }
复制代码
控制台输出:
0.67
0.67


这里提供了两种比较简单的方法
其中:
1.0默认是double类型的,所以1.0 * x会自动提升,也是double,1.0 * x / y当然也是double类型
然后记住这个类DecimalFormat
DecimalFormat 模式具有下列语法:
模式:正数模式正数模式负数模式正数模式:前缀opt 数字后缀opt负数模式:前缀opt 数字后缀opt前缀:除 \uFFFE、\uFFFF 和特殊字符以外的所有 Unicode 字符后缀:除 \uFFFE、\uFFFF 和特殊字符以外的所有 Unicode 字符数字:整数指数opt整数小数指数opt整数:最小整数         ## 整数# , 整数最小整数:         00 最小整数0 , 最小整数小数:最小小数opt 可选小数opt最小小数:0 最小小数opt可选小数:# 可选小数opt指数:E 最小指数最小指数:0 最小指数opt

详细可参考API

另外一个String.format
同样,可以在API中先找到String,然后具体看format用法


希望能帮到你~


作者: 幸福小米粥    时间: 2014-6-22 14:31
iWilliam 发表于 2014-6-20 17:33
不多说,先上代码~
控制台输出:
0.67

先感谢!
作者: iWilliam    时间: 2014-6-25 22:44
幸福小米粥 发表于 2014-6-22 14:31
先感谢!

加油哦~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2