题目:完毕这种方法的代码实现 public static String round (String arg1, int arg2)

參数 arg1:表示等待被处理的数据:如:"100.286"

參数 arg2:处理后保留的个数位数:如:2

返回值:对arg1保留arg2位小数位数而且四舍五入后的结果值。如:“100.29”

要求不能使用JDK中的数值类Class的现有四舍五入方法。

实现:

public static String round(String arg1, int arg2) {
try{
double arg1Value = Double.parseDouble(arg1);
}catch (Exception e) {
return null;
} if(arg2 <= 0){
            return null;
        }  if(arg1.indexOf(".")<0){
return arg1;
} int pointPos = arg1.indexOf(".")+1;
if(pointPos+arg2+1>arg1.length()){
return arg1;
} int value1 = Integer.parseInt(arg1.substring(pointPos+arg2, pointPos+arg2+1));
System.out.println(value1);
if(value1<5){
return arg1.substring(0, pointPos+arg2);
}else{
double value2 = Double.parseDouble(arg1.substring(0, pointPos+arg2));
if(value2<0){
value2=value2-Math.pow(0.1, arg2);
}else {
value2=value2+Math.pow(0.1, arg2);
} return String.valueOf(value2);
}
}

对于题目中给出的样例进行測试

System.out.println(round("100.286", 2));  

执行结果:100.29

对于负数进行測试

System.out.println(round("-100.286", 2));  

执行结果:-100.29

对于非数值字符串进行測试

System.out.println(round("a10b0.286", 2));  

执行结果:null

总结

该方法是对java中Math类下的round方法的重写,可能有不完备的地方或者有错误的地方,希望各位大牛能指教,望大牛能给出好的建议,先谢啦。

Java重写round()方法的更多相关文章

  1. java重写equals方法

    @Override public int hashCode() { return task.getId(); } @Override public boolean equals(Object obj) ...

  2. java重写equals方法需要注意的几点

    为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...

  3. Java重写equals方法(重点讲解)

    为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...

  4. java重写toString()方法

    toString()方法是Object类的方法,调用toString()会返回对象的描述信息. 1)为什么重写toString()方法呢? 如果不重写,直接调用Object类的toString()方法 ...

  5. java重写toString方法

    在输出对象属性时,重写toString按照你希望的输出形式重写 object类里的toString只是把字符串的直接打印,数字的要转化成字符再打印,而对象,则直接打印该对象的hash码.所以当你要想按 ...

  6. 【java开发】方法重写和方法重载概述

    类的继承   父类-子类 关键字 extends 新建一个父类 public class Person {     private String name;          private int ...

  7. Java重写方法与初始化的隐患(转)

    原文出处: Shawon 虽然文章标题是Java, 但几乎所有面向对象设计的语言都遵守这个初始化流程, 感谢廖祜秋liaohuqiu_秋百万指出, 之前忘记提这个了. 前言 drakeet写了个和Re ...

  8. Java 重写hashCode 方法和equals方法

    package Container; import java.util.HashSet; import java.util.Iterator; /* Set 元素是无序的(存入和取出的顺序不一定一致) ...

  9. java 集合框架(TreeSet操作,自动对数据进行排序,重写CompareTo方法)

    /*TreeSet * treeSet存入数据后自动调用元素的compareTo(Object obj) 方法,自动对数据进行排序 * 所以输出的数据是经过排序的数据 * 注:compareTo方法返 ...

随机推荐

  1. AppWidget应用(二)---PendingIntent 之 getActivity

    通过AppWidget应用(一)的介绍,我们已经知道如何创建一个在主界面上显示一个appWidget窗口,但这并不是我们的目的,我们需要做到程序与用户之间进行交互:下面来介绍下如何通过appWidge ...

  2. hdu 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】(转)

    HDU 动态规划(46道题目)倾情奉献~ [只提供思路与状态转移方程] Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955      背包 ...

  3. python学习笔记--for循环

    推荐一个学习语言的网站:http://www.codecademy.com 有教程,可以边学边写,蛮不错的. for循环: 1.for loops allow us to iterate throug ...

  4. Android (1) - Activity

    onCreate(Bundle status) --> setContentView(View view) --> findViewById(int id) Intent intentFo ...

  5. set、env、export差分

    set:显示当前shell变量,用户变量包含当前用户 env:显示用户变量 export:显示当前导出成用户变量的shell变量 举例来说: root@kali:~# aaa=bbb         ...

  6. IP Camera 和 Web Camera 差分

    一直以来,,没太注意IP camera 和 Web Camera之间的差,这两个摄像头,昨天晚上.闲来无事Google少数,我们发现,还有两者之间的差异. 1) IP Camera IP Camera ...

  7. Android数据库专家秘籍(七)经验LitePal查询艺术

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/40153833 经过了多篇文章的学习,我们已经把LitePal中的绝大部分内容都掌握 ...

  8. 【Java先进】Lock、通过使用线程池

    import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util ...

  9. NPOI+ExcelReport

    分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续2篇-模板导出综合示例)   自ExcelUtility类推出以来,经过项目中的实际使用与不断完 ...

  10. 使用crontab创建 linux 系统定时任务#

    任务1: 每隔1分钟,运行一次 /home/sn/yeelink.sh文件 ,用于上传数据到www.yeelink.net 1. 先在当时目录里面创建一个cronfile文件 vim cronfile ...