我是靠谱客的博主 美满眼神,最近开发中收集的这篇文章主要介绍实现四舍五入 String split中含有小数点 str.split(“\\.“),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(如何自己实现和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(“\\.“)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部