黑马程序员技术交流社区

标题: 请问在Math类中如何保留两位小数? [打印本页]

作者: 艺多不压身丶    时间: 2015-1-30 12:45
标题: 请问在Math类中如何保留两位小数?
本帖最后由 艺多不压身丶 于 2015-2-1 08:44 编辑

给定一个小数,例如:253.12345
请问如何保留这个小数的前两位?例如:253.12
作者: xiaoyi    时间: 2015-1-30 13:52
这是个问题啊,我也不知道
作者: 奔跑的猴子    时间: 2015-1-30 15:23
不清楚你指的在Math类中是怎么回事,但是要保存两位小数也简单:

double  n = 253.12345;
int m  = (int)n*100;
n=(double)m/100; 或者 n = m/100.00;
作者: 流行VS泪痕    时间: 2015-1-30 17:40
好像Math方法中有好多不同类型的,你想用什么数据类型的?
作者: 艺多不压身丶    时间: 2015-1-31 11:13
奔跑的猴子 发表于 2015-1-30 15:23
不清楚你指的在Math类中是怎么回事,但是要保存两位小数也简单:

double  n = 253.12345;

意思是用Math类中的方法,然后加上算法,怎么才能够保留两位小数,你这个方法并没有保留两位小数。而是把double转成了int,舍弃了小数,又转为double,要保留小数的部分已经丢失了。得出的结果是253.0呀
作者: 艺多不压身丶    时间: 2015-1-31 11:14
流行VS泪痕 发表于 2015-1-30 17:40
好像Math方法中有好多不同类型的,你想用什么数据类型的?

类型很明确了好吧,
作者: 奔跑的猴子    时间: 2015-1-31 22:44
艺多不压身丶 发表于 2015-1-31 11:13
意思是用Math类中的方法,然后加上算法,怎么才能够保留两位小数,你这个方法并没有保留两位小数。而是把 ...

保留了啊,我写的代码的意思是,先乘以100,转成intt,去掉小数,然后除以100就得到了两位小数啦
作者: 奔跑的猴子    时间: 2015-1-31 22:47
艺多不压身丶 发表于 2015-1-31 11:13
意思是用Math类中的方法,然后加上算法,怎么才能够保留两位小数,你这个方法并没有保留两位小数。而是把 ...

我知道说没有保留的原因在哪里了,因为n先转了再乘以100,写漏了一个括号
double  n = 253.12345;
int m  = (int)(n*100);
n=(double)m/100; 或者 n = m/100.00;
作者: 艺多不压身丶    时间: 2015-2-1 08:40
奔跑的猴子 发表于 2015-1-31 22:47
我知道说没有保留的原因在哪里了,因为n先转了再乘以100,写漏了一个括号
double  n = 253.12345;
int m ...

非常感谢!!
作者: 奔跑的猴子    时间: 2015-2-1 11:23
艺多不压身丶 发表于 2015-2-1 08:40
非常感谢!!

:lol居然被加了技术分,好感动:lol加油加油
作者: 奔跑的猴子    时间: 2015-2-1 11:24
奔跑的猴子 发表于 2015-2-1 11:23
居然被加了技术分,好感动加油加油

额,说错了,加了黑马币,一样很感动感动




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2