当前位置: 代码迷 >> PB >> 怎么求数字不是整数
  详细解决方案

怎么求数字不是整数

热度:47   发布时间:2016-04-29 08:31:59.0
如何求数字不是整数

我要取一个时间值,比如0.8小时

假设这个小时不满0.5 就取0

不满1,但是大于0.5 就取0.5

以此类推。

求大家指点下。 


------解决方案--------------------
这是我用C写的一位数实现 :1位数的小数部分如果不满0.5就取0,超过0.5就取0.5。希望能对你有所帮助!
#include<stdio.h>
main()
{
float a,b;
printf("put your number:");
scanf("%f",&a);
if(a<10)
{
if(a<((int)a%10+0.5))
b=(int)a%10;
else
b=(int)a%10+0.5;
printf("%f\n",b);
}
else
printf("input error\n");
}
------解决方案--------------------
round(a, 0)
------解决方案--------------------
建一个函数 参数为as_txt
decimal{1} ld_txt
if not isnumber(as_txt) then
return as_txt
end if
as_txt=string(round(dec(as_txt),1))
if integer(right(as_txt,1))<5 then
return mid(as_txt,1,len(as_txt) - 2)
else
as_txt=string(dec(as_txt)+1)
return mid(as_txt,1,len(as_txt) - 2)
end if

//这个上面做的是四舍五入的自定义函数,呵呵


------解决方案--------------------
abs(a - round(a,0))<1
------解决方案--------------------
dec f_get_time(dec ad)

return round(ad,0) - (round(ad,0) - int(ad)) * 0.5
------解决方案--------------------
当只有一位小数时
x=0.8

y=(10x - mod(10x,5))/10=0.5
------解决方案--------------------
Round( a*2, 0 ) / 2
  相关解决方案