高分求解决方法,关于double型数字保留1位小数的有关问题

高分求解决办法,关于double型数字保留1位小数的问题
现在遇到一个棘手的问题,就是如何把一个双精度的数字转换为只有一位小数的数字。我指的不是输出printf( "%0.1lf ",value)这样的形式。
比如value1=12.1245需要把它转化为value2=12.1
12.564转化为12.6
12转化为12.0

必须要有一位小数。

如何解决呢?

------解决方案--------------------
×10,取整,再/10
------解决方案--------------------
double value1;
double value2=(int(value1*100)+5)/10/10.0;
------解决方案--------------------
呵呵,taodm((不能收****社区短信息,请莫浪费精力)) 好快啊
×10,取整,再/10 简洁
------解决方案--------------------
不可能地, .1 .2 .3 .4 .6 .7 .8 .9 都不能被浮点数精确表示, 只有 .0 .5 的可以 ...