黑马程序员技术交流社区

标题: 苦思冥想,做出来,心里挺开心的 [打印本页]

作者: zhangpanqin    时间: 2016-10-29 01:13
标题: 苦思冥想,做出来,心里挺开心的
/*第四题:分析以下需求,并用代码实现
        (1)键盘录入一个小数,要求小数点后的小数位最少2位
        (2)定义方法,实现保留小数点后的两位小数(四舍五入)
        (3)如:输入5.6789 输出5.67,输入5.67389 输出5.67*/
package com.hei;

import java.util.Scanner;

public class Text04 {
        public static void main(String[] args) {
                        Scanner sc = new Scanner(System.in);
                        double dou =sc.nextDouble();                       
                                               
                        fanHui(dou);
        }

        public static void fanHui(double dou) {
                String str=dou+"";
                int a=str.indexOf(".");
                StringBuffer sb=new StringBuffer(str);
                 
                sb=sb.delete(a+3,sb.length()+1);
                ;
                char ch=str.charAt(str.length()-1);
                if (ch>='5'&&ch<='9') {
                        //if (str.charAt(str.length()-2)==9) {
                        int b=Integer.parseInt(sb.replace(a, a+1, "").toString())+1;
                        System.out.println(new StringBuffer((b+"")).insert(a, ".").toString());
                }else {
                        System.out.println(sb.delete(a+3,sb.length()+1).toString());
                }
        }
}



作者: 读书可以当饭吃    时间: 2016-10-29 01:50
这就厉害了
作者: leojr    时间: 2016-10-29 08:23
额,其实直接乘100,再加上0.5,进行int强转,再除上100.0问题就解决了

作者: 乌托邦619    时间: 2016-10-29 08:36
推荐math类里面的方法 应该很快

作者: IceLoveInFire丶    时间: 2016-10-29 10:29
你知道math方法里有一个round方法嘛

作者: IceLoveInFire丶    时间: 2016-10-29 10:30
你这题目是四舍五入还是直接舍?没看太明白

作者: zhangpanqin    时间: 2016-10-29 10:45
四舍五入,只是例子没有改

作者: zhangpanqin    时间: 2016-10-29 11:58
leojr 发表于 2016-10-29 08:23
额,其实直接乘100,再加上0.5,进行int强转,再除上100.0问题就解决了

试了你的想法确实简单好多,大神啊

作者: zhangpanqin    时间: 2016-10-29 12:01
这个还没学,刚学了stringbuffer

作者: zhangpanqin    时间: 2016-10-29 12:06
乌托邦619 发表于 2016-10-29 08:36
推荐math类里面的方法 应该很快

还没学到,只学到了stringbuffer

作者: 若白衣卿相    时间: 2016-10-29 12:49
楼下有大神,膜拜

作者: leojr    时间: 2016-10-29 14:00
zhangpanqin 发表于 2016-10-29 11:58
试了你的想法确实简单好多,大神啊

以前见过这样的问题,敲得多了就记着了

作者: warshipf    时间: 2016-10-29 18:24
6666666666666666666
作者: vip825779    时间: 2016-10-29 19:38
牛逼了我的哥
作者: jiaogege520    时间: 2016-10-30 13:03
学习额!!




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