A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 艺多不压身丶 于 2015-2-1 08:44 编辑

给定一个小数,例如:253.12345
请问如何保留这个小数的前两位?例如:253.12

10 个回复

倒序浏览
这是个问题啊,我也不知道
回复 使用道具 举报 1 0
不清楚你指的在Math类中是怎么回事,但是要保存两位小数也简单:

double  n = 253.12345;
int m  = (int)n*100;
n=(double)m/100; 或者 n = m/100.00;
回复 使用道具 举报
好像Math方法中有好多不同类型的,你想用什么数据类型的?
回复 使用道具 举报
奔跑的猴子 发表于 2015-1-30 15:23
不清楚你指的在Math类中是怎么回事,但是要保存两位小数也简单:

double  n = 253.12345;

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

类型很明确了好吧,
回复 使用道具 举报
艺多不压身丶 发表于 2015-1-31 11:13
意思是用Math类中的方法,然后加上算法,怎么才能够保留两位小数,你这个方法并没有保留两位小数。而是把 ...

保留了啊,我写的代码的意思是,先乘以100,转成intt,去掉小数,然后除以100就得到了两位小数啦
回复 使用道具 举报
艺多不压身丶 发表于 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;
回复 使用道具 举报 1 0
奔跑的猴子 发表于 2015-1-31 22:47
我知道说没有保留的原因在哪里了,因为n先转了再乘以100,写漏了一个括号
double  n = 253.12345;
int m ...

非常感谢!!
回复 使用道具 举报

:lol居然被加了技术分,好感动:lol加油加油
回复 使用道具 举报
奔跑的猴子 发表于 2015-2-1 11:23
居然被加了技术分,好感动加油加油

额,说错了,加了黑马币,一样很感动感动
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马