Ruby中怎么解决Float型十进制小数运算问题

Python013

Ruby中怎么解决Float型十进制小数运算问题,第1张

在计算机几内部,小数不是按照四舍五入的方法的。因为计算机只有0和1,没有4和5,所以不能四舍五入的。 不管是float还是double,在处理末位时都是直接丢弃的。比如一个小数,应该是用33位二进制码才能完全表示的,但是float只有32位

长度:长度格式符为l和h,l表示输入长整型数据(如%ld) 和双精度浮点数(如%lf)。h表示输入短整型数据。

使用scanf函数还必须注意以下几点:

1) scanf函数中没有精度控制,如:scanf("%5.2f",&a)是非法的。不能企图用此语句输入小数为2位的实数。

2) scanf中要求给出变量地址,如给出变量名则会出错。如 scanf("%d",a)是非法的,应改为scnaf("%d",&a)才是合法的。