A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© nerveva2000 中级黑马   /  2014-10-20 10:12  /  4994 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 nerveva2000 于 2014-10-22 10:05 编辑

如果让大家用Math做,大家怎么做。。。。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

8 个回复

倒序浏览
将此数*100,然后Math.round,然后变成double数据,除以100。不知道我这个思路对你有帮助不?

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞。授之以鱼不如授之以渔

查看全部评分

回复 使用道具 举报
本帖最后由 nerveva2000 于 2014-10-20 11:54 编辑
肖建伟 发表于 2014-10-20 11:27
将此数*100,然后Math.round,然后变成double数据,除以100。不知道我这个思路对你有帮助不? ...

看了你的指引,这么写,也能得到保留两位小数的结果

不知道这么成这样好  double r=(Math.round(l*100.00)/100.00);
还是这样好点double r=(Math.round(l*100)/(double)100);
或者存个 double x=100; 然后 double r=(Math.round(l*x)x);
  1. class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 double l=Math.random();
  6.                 sop(l);
  7.                 double r=(Math.round(l*100.00)/100.00);
  8.                 sop(r);

  9.         }
  10.         public static void sop( Object obj)
  11.         {
  12.                 System.out.println(obj);
  13.         }
  14. }
复制代码

回复 使用道具 举报
建议用java.math.BigDecimal做,用setScale() 返回包含指定小数位的数值,toString()把对象转为字符串。doubleValue()将此 BigDecimal 转换为 double。
否则你要考虑舍入方式,操作数为long等情况。
  1.                 String d = "1.23456789";
  2. //                double d = 1.23456789;
  3.                 BigDecimal b = new BigDecimal (d);
  4.                 b = b.setScale(2, java.math.RoundingMode.HALF_EVEN );
  5.                 System.out.println(b);
  6.                 System.out.println(b.doubleValue());
复制代码

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

回复 使用道具 举报
刘树弘 发表于 2014-10-20 15:14
建议用java.math.BigDecimal做,用setScale() 返回包含指定小数位的数值,toString()把对象转为字符串。dou ...

多谢,嗯,查查表,看看这些功能怎么用。
回复 使用道具 举报
感谢分享
回复 使用道具 举报
double b=1.23456;
                int c=(int) (b*100);
                double d=Math.round(c);
                //sop(d);
                sop(d/100);
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
Zack 中级黑马 2015-7-14 13:49:04
9#
我也看到视频中的这个练习,也不会,但是我没看懂你们在讨论乘100是干嘛的,是保留后两位,乘100有什么用呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马