waysun一路阳光

不轻易服输,不轻言放弃.--心是梦的舞台,心有多大,舞台有多大。踏踏实实做事,认认真真做人。

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  167 随笔 :: 1 文章 :: 64 评论 :: 0 Trackbacks
public String getFourToFive(double score_type)
 {
  double bl=(Math.round(score_type/.01)*.01);
  String st=String.valueOf(bl);
  /**注意,这里用.作为分隔符是失效的,不知道为什么,所以采用替换的办法*/
  st=st.replace(".", "_");
  String []st_arr=st.split("_");
  String temp="";
  if(st_arr[1].length()>2)
  {
   temp=st_arr[1].substring(0, 2);
  }
  else
  if(st_arr[1].length()<2)
  {
   temp=st_arr[1]+"0";
  }
  else
  {
   temp=st_arr[1];
  }
  return st_arr[0]+"."+temp;
 }
posted on 2009-04-15 09:26 weesun一米阳光 阅读(5501) 评论(3)  编辑  收藏 所属分类: JAVA源码常用工具类

评论

# re: JAVA四舍五入(小数点后保留两位数字)[自己总结] 2009-04-16 11:06 重庆理工小子
写了一个通用的,希望对你有用!

public class test {
/**
* @param str
* 处理参数
* @param num
* 保留小数位数
* @return 返回值
*/
public static String RoundOf(String str, int num) {
if (str.indexOf(".") > -1) {
String str1 = str.substring(str.indexOf(".") + 1, str.indexOf(".")
+ 1 + str.length() - (str.indexOf(".") + 1));
int i = 0;
if (num < 0)
num = 0; // 如果指定要保留的小数位小于零,则初始化为零
if (str1.length() > num) {
if (Integer.valueOf(str1.substring(num, num + 1)) > 4) {
int val = 0;
val = Integer.valueOf(str1.substring(0, num + 1))
+ (10 - Integer.valueOf(str1
.substring(num, num + 1)));
if (String.valueOf(val).length() > (num + 1)) {
i = 1;
str1 = String.valueOf(val).substring(1, num + 1);
} else {
str1 = String.valueOf(val).substring(0, num);
}
} else {
str1 = str1.substring(0, num);
}
if (str.indexOf(".") > 0) {
String str2 = str.substring(0, str.indexOf("."));
if (num > 0) {
str = String.valueOf(Integer.valueOf(str2) + i) + "."
+ str1;
} else {
str = String.valueOf(Integer.valueOf(str2) + i);
}
} else {
if (num > 0) {
str = String.valueOf(i) + "." + str1;
} else {
str = String.valueOf(i);
}
}
} else if (str1.length() < num) {
for (int n = 0; n < (num - str1.length()); n++) {
str = str + "0";
}
}
}
return str;
}
public static void main(String[] args) {
test test=new test();
System.out.println(test.RoundOf(String.valueOf(3.15965), 2));
}
}  回复  更多评论
  

# re: JAVA四舍五入(小数点后保留两位数字)[自己总结] 2009-04-16 11:17 重庆理工小子
我这里没有用.作为分隔符,而是使用了indexof方法分别取.前后的值。  回复  更多评论
  

# re: JAVA四舍五入(小数点后保留两位数字)[自己总结][未登录] 2011-10-22 13:40 bigfish
/**注意,这里用.作为分隔符是失效的,不知道为什么,所以采用替换的办法*/
st=st.replace(".", "_");
String []st_arr=st.split("_");

此处不用这么麻烦,
直接
st=st.replace("\\.");即可  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: