当前位置:   article > 正文

java中保留固定小数位数_java divide保留八位小数

java divide保留八位小数

方式一:

四舍五入
double   f   =   111231.5585;
BigDecimal   b   =   new   BigDecimal(f);
double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数

方式二:

java.text.DecimalFormat   df   =new   java.text.DecimalFormat(”#.00″);
df.format(你要格式化的数字);

例:new java.text.DecimalFormat(”#.00″).format(3.1415926)

#.00 表示两位小数 #.0000四位小数 以此类推…

方式三:

double d = 3.1415926;

String result = String .format(”%.2f”);

%.2f %. 表示 小数点前任意位数   2 表示两位小数 格式后的结果为f 表示浮点型。

唉,可惜都是指定小数位数的,没有指定小数有效数字的,坑爹啊,还的自己处理,真浪费时间。。。。。。。。。。。。。。。

写了一大堆没用的,浪费时间,最后这样写,勉强对了,不过有异常,不想管了,坑爹的题。

  1. import java.math.BigDecimal;
  2. public final class Demo {
  3. /*
  4. 功能: 输入的基准字符串中统计指定字符出现的频率
  5. 字符串仅包括英文大小写字母和空格、逗号、点号
  6. 小数点后保留2位有效数字,第三位四舍五入
  7. 输入: String pString 输入的基准字符串
  8. char c 指定的字符
  9. 返回: 输出指定字符出现的频率
  10. */
  11. public static void main(String[] args){
  12. String s="wo shi, yi zhi.xiao xiao niao";
  13. char c=' ';
  14. getRateFromString(s, c);
  15. }
  16. public static float getRateFromString(String pString, char c)
  17. { if(pString==null||pString.length()==0)
  18. return 0.00f;
  19. BigDecimal b1=new BigDecimal("0");
  20. for(int i=0;i<pString.length();i++){
  21. if(pString.charAt(i)==c)
  22. b1=b1.add(new BigDecimal("1"));
  23. }
  24. BigDecimal result=b1.divide(new BigDecimal(""+pString.length()));
  25. int zero=0;
  26. int index=String.valueOf(result).indexOf('.');
  27. if(index>0){
  28. for(int i=index+1;i<String.valueOf(result).length();i++){
  29. if(String.valueOf(result).charAt(i)=='0')
  30. zero++;
  31. if(String.valueOf(result).charAt(i)!='0')
  32. break;
  33. }
  34. }
  35. float ff=result.floatValue();
  36. int aaa=zero+2;
  37. String sss=String.format("%."+aaa+"f", ff);
  38. System.out.println(Float.parseFloat(sss));
  39. return Float.parseFloat(sss);
  40. }
  41. }
总之一句话,还是BigDecimal精度高,方便点,另外构造函数最好用String类型的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/235761
推荐阅读
相关标签
  

闽ICP备14008679号