概述
(如何自己实现和API一样的功能)
public static String round(String str,int digit)
参数1:数字和小数点组成的字符串。如"12.568"
参数2:四舍五入的小数位数。如:2
返回值:根据条件四舍五入后的字符串值。“12.57”
注意:自行编写针对字符串操作的算法,不能使用Java现成的用于四舍五入的API方法
题目已经提示对字符串操作
public static String round(String str, int digit) {
//1.切割得到split数组,如果长度等于0,返回-1
String[] split = str.split("\.");
String result = null;
if (split.length == 0) {
result = "-1";
}
String kk = null;
//2.1 如果切割数组长度=1,加0输出
if (split.length == 1) {
for (int i = 0; i < digit; i++) {
kk += "0";
}
//2.2 如果切割长度==2
} else if (split.length == 2) {
//2.2.1 小数位长度小于或等于保留位数
kk = split[1];
if (split[1].length() <= digit) {
for (int i = split[1].length(); i < digit; i++) {
kk += "0";
}
//2.2.2 小数位长度小于或等于保留位数
} else {
char[] chars = kk.toCharArray();
if (chars[digit] < '5') {
kk = new String(chars, 0, digit);
} else {
chars[digit - 1] += 1;
kk = new String(chars, 0, digit);
}
}
}
result = split[0] + "." + kk;
return result;
}
刚开的是时候返回值一直是“-1”,就是说明split.length==0。后来想到"."是不是需要转义
最后修改成:
String[] split = str.split("\.");
split.length就正常了
最后
以上就是美满眼神为你收集整理的实现四舍五入 String split中含有小数点 str.split(“\\.“)的全部内容,希望文章能够帮你解决实现四舍五入 String split中含有小数点 str.split(“\\.“)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复