Java重写round()方法
题目:完毕这种方法的代码实现 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()方法的更多相关文章
- java重写equals方法
@Override public int hashCode() { return task.getId(); } @Override public boolean equals(Object obj) ...
- java重写equals方法需要注意的几点
为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...
- Java重写equals方法(重点讲解)
为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...
- java重写toString()方法
toString()方法是Object类的方法,调用toString()会返回对象的描述信息. 1)为什么重写toString()方法呢? 如果不重写,直接调用Object类的toString()方法 ...
- java重写toString方法
在输出对象属性时,重写toString按照你希望的输出形式重写 object类里的toString只是把字符串的直接打印,数字的要转化成字符再打印,而对象,则直接打印该对象的hash码.所以当你要想按 ...
- 【java开发】方法重写和方法重载概述
类的继承 父类-子类 关键字 extends 新建一个父类 public class Person { private String name; private int ...
- Java重写方法与初始化的隐患(转)
原文出处: Shawon 虽然文章标题是Java, 但几乎所有面向对象设计的语言都遵守这个初始化流程, 感谢廖祜秋liaohuqiu_秋百万指出, 之前忘记提这个了. 前言 drakeet写了个和Re ...
- Java 重写hashCode 方法和equals方法
package Container; import java.util.HashSet; import java.util.Iterator; /* Set 元素是无序的(存入和取出的顺序不一定一致) ...
- java 集合框架(TreeSet操作,自动对数据进行排序,重写CompareTo方法)
/*TreeSet * treeSet存入数据后自动调用元素的compareTo(Object obj) 方法,自动对数据进行排序 * 所以输出的数据是经过排序的数据 * 注:compareTo方法返 ...
随机推荐
- tomcat开始批量——setclasspath.bat
除了上述两批,另一个重要的脚本,那是,setclasspath.bat.它主要负责查找.检查JAVA_HOME和JRE_HOME两个变量. ****************************** ...
- 通过HttpURLConnection模拟post表单提交
通过HttpURLConnection模拟post表单提交 package junit; import java.io.InputStream; import java.net.HttpURLConn ...
- ps、top 、free查看用户资源信息
查看root用户的进程信息. 运行命令: ps -u root 查看oracle用户的进程信息. 运行命令: ps -u oracle 若查看现在的资源占用情况,如何呢? 运行命令: top 可以 ...
- android2.2应用开发之IccCard(sim卡或USIM卡)
tyle="margin:20px 0px 0px; font-size:14px; line-height:26px; font-family:Arial; color:rgb(51,51 ...
- Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍
原文 Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍 前言 不同于iOS,Xamarin 在Visual Studio中针对Android,可以直接设 ...
- JDBC连接数据库和释放连接
用久了hibernate现在对于JDBC是怎么实现数据库的连接和释放,所以特地总结下关于JDBC的知识,目的是用于提醒自己很多Java的基础知识需要健全. package com.ssh.action ...
- 样品GA的良好理解
遗传算法演示样本手册模拟 为了更好地理解遗传算法的计算过程,法的各 个主要运行步骤. 例:求下述二元函数的最大值: (1) 个体编码 遗传算法的运算对象是表示个体 ...
- HDU 1828 Picture(长方形的周长和)
HDU 1828 Picture 题目链接 题意:给定n个矩形,输出矩形周长并 思路:利用线段树去维护,分别从4个方向扫一次,每次多一段的时候,就查询该段未被覆盖的区间长度,然后周长就加上这个长度,4 ...
- 1104. Don’t Ask Woman about Her Age(数论)
a*b^n(mod(b-1) =a(mod(b-1) http://acm.timus.ru/problem.aspx?space=1&num=1104 #include <stdio. ...
- CTR校准
普遍预测CTR不准,需要校准.例如.boosted trees and SVM预測结果趋于保守.即预測的概率偏向于中值:而对于NaiveBayes预測的概率,小概率趋于更小.大概率趋于更大.经常使用的 ...