如何求数字不是整数

StillMiss 2011-02-17 06:05:28

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

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

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

以此类推。

求大家指点下。
...全文
195 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fang3307 2011-02-22
  • 打赏
  • 举报
回复
当只有一位小数时
x=0.8

y=(10x - mod(10x,5))/10=0.5
liubocy 2011-02-22
  • 打赏
  • 举报
回复
Round( a*2, 0 ) / 2
yyoinge 2011-02-19
  • 打赏
  • 举报
回复
dec f_get_time(dec ad)

return round(ad,0) - (round(ad,0) - int(ad)) * 0.5
DYFDWX 2011-02-18
  • 打赏
  • 举报
回复
建一个函数 参数为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

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

jimwoo 2011-02-18
  • 打赏
  • 举报
回复
round(a, 0)
peixun 2011-02-18
  • 打赏
  • 举报
回复
abs(a - round(a,0))<1
疯陟 2011-02-17
  • 打赏
  • 举报
回复
这是我用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");
}

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧