请问一个值就近舍入的算法
请教一个值就近舍入的算法
值就近舍入到0.05(如:7.125 -> 7.15,6.66 -> 6.70)
有什么算法实现? 谢谢!
------解决思路----------------------
同1楼
这类问题,有通用解法
不管什么编译器,给出的进位函数,只支持保留到整数的进位
你想以0.05作为刻度,乘以20,变整数,进位完除以20,不就得了
同理,如果以1/N作为刻度,先乘以N,取整后再除以N
------解决思路----------------------
Math.Ceiling
值就近舍入到0.05(如:7.125 -> 7.15,6.66 -> 6.70)
有什么算法实现? 谢谢!
------解决思路----------------------
同1楼
这类问题,有通用解法
不管什么编译器,给出的进位函数,只支持保留到整数的进位
你想以0.05作为刻度,乘以20,变整数,进位完除以20,不就得了
同理,如果以1/N作为刻度,先乘以N,取整后再除以N
------解决思路----------------------
Math.Ceiling
double d1 = 7.125 ;
double d2 = 6.66;
d1 = Math.Ceiling(d1 * 20) / 20; // 7.15
d2 = Math.Ceiling(d2 * 20) / 20; // 6.7