我要取一个时间值,比如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