Java计算中,如何设定小数点保留位数?

marine_chen 2005-11-15 02:10:10
在计算中,是float类型的,但是很多数据都是小数点后面5、6位,现在想设定保存小数点后面一位或者两位,如何设定?
不知道还有多少分了,希望大家能帮助
...全文
1959 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
marine_chen 2005-11-15
  • 打赏
  • 举报
回复
谢谢大家
我下午没来到这里看
自己研究了一下
发现了这个方法:
import java.text.DecimalFormat;

DecimalFormat df0 = new DecimalFormat("###");
DecimalFormat df1 = new DecimalFormat("###.0");
DecimalFormat df2 = new DecimalFormat("###.00");

float f = 3.23456
df0.format(f);
df1.format(f);
df2.format(f);

3个结果分别为:
3
3.2
3.24

我觉得这样比较科学
大家觉得如何呢
磨砺营马剑威 2005-11-15
  • 打赏
  • 举报
回复
这种方法我觉得已经是最方便了,楼上的朋友不觉得吗
pengtao_2005 2005-11-15
  • 打赏
  • 举报
回复
楼上正解。没有四舍五入的函数的语言中,我一般用这种方法。还有没有更好的呢?
磨砺营马剑威 2005-11-15
  • 打赏
  • 举报
回复
//保留一位小数
double test = Math.round(1.25*10)/10.0;
wsk_228 2005-11-15
  • 打赏
  • 举报
回复
我认为楼上这样做不合理,如果是5.999999的话,那你截了会是多少呀。再说substring(0,3),如果是5555.9又是多少呢。哈哈,我认为要用StringTokenizer来截取。并进行四舍五入。个人之见
xzy825 2005-11-15
  • 打赏
  • 举报
回复
float aa=0.676f
DecimalFormat df = new DecimalFormat("###.00");
df.format(aa)
  • 打赏
  • 举报
回复
如果是显示 可以用IndexOf截掉多余的部分


datoubo 2005-11-15
  • 打赏
  • 举报
回复
public class liuwei
{
public static void main(String args[])
{
double x=6.52341221;
String y=Double.toString(x);
y=y.substring(0,3);
x=Double.parseDouble(y);
System.out.println("*******"+x);
}
}

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧