| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1599 人关注过本帖
标题:各位高手来看看,这些数字如何取整?
只看楼主 加入收藏
DBFuser
Rank: 1
等 级:新手上路
帖 子:27
专家分:3
注 册:2022-12-15
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:14 
各位高手来看看,这些数字如何取整?
[b]有一组数字,假设字段名ABC,长度不同,想取整
比如
5238(想取成5200)
5276(想取成5300)

36840(想取成36800)
36860(想取成36900)

116235(想取成116000)
116760(想取成117000)

数字最大不超过6位数

如果不好搞,那就不分长度,把所有数字向上或向下取整到百位数上,请高手给指点一下


[此贴子已经被作者于2023-4-11 22:08编辑过]

搜索更多相关主题的帖子: 长度 位数 数字 取整 向上 
2023-04-11 21:55
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9844
专家分:27213
注 册:2012-2-5
收藏
得分:2 
lnx = 100
a = 36860
? (INT(a/lnx) + IIF(a%lnx<50, 0, 1)) * lnx

坚守VFP最后的阵地
2023-04-11 22:24
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9844
专家分:27213
注 册:2012-2-5
收藏
得分:0 
数字长度在4-5位,用100解决问题
数字长度在6位,用1000解决问题

坚守VFP最后的阵地
2023-04-11 22:28
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9844
专家分:27213
注 册:2012-2-5
收藏
得分:0 
程序代码:
CLEAR 
a = 116760
DO CASE 
    CASE BETWEEN(LEN(TRANSFORM(a)), 4, 5) && 长度4-5位
        lnx = 100
        lny = 50
    CASE LEN(TRANSFORM(a)) = 6 && 长度6位
        lnx = 1000
        lny = 500
ENDCASE 
IF BETWEEN(a, 1000, 999999)
    ? (INT(a/lnx) + IIF(a%lnx<lny, 0, 1)) * lnx
ENDIF 


[此贴子已经被作者于2023-4-11 22:40编辑过]


坚守VFP最后的阵地
2023-04-11 22:39
sash
Rank: 4
等 级:业余侠客
威 望:6
帖 子:65
专家分:249
注 册:2014-4-25
收藏
得分:2 
?IIF(AAA>100000,INT(AAA/1000)*1000,INT(AAA/100)*100)
2023-04-12 12:31
pvm2000
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:180
专家分:312
注 册:2022-12-22
收藏
得分:2 
你这规则不明确,是后三位,还是后四位取整?
2023-04-13 00:19
pvm2000
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:180
专家分:312
注 册:2022-12-22
收藏
得分:0 
整数x取整到百位数的计算方法:
int ( ( x+50)/100 ) * 100
2023-04-13 00:24
倦猫1973
Rank: 2
等 级:论坛游民
威 望:1
帖 子:68
专家分:28
注 册:2022-11-17
收藏
得分:2 
低手可以看吗?
2023-04-13 02:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:2 
看是四舍五入
2023-04-13 08:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏(1)
得分:0 
?fun(5238)
?fun(5276)
?fun(36840)
?fun(36860)
?fun(116235)
?fun(116760)

FUNCTION fun(n)
    m = 10^INT(LEN(TRANSFORM(n))/2)
    RETURN ROUND(n/m,0) * m
ENDFUNC
2023-04-13 09:08
快速回复:各位高手来看看,这些数字如何取整?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026030 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved