加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用Right函数给不够位数的数字前面加零

(2012-05-16 19:32:57)
标签:

filemaker

分类: FileMaker实用技巧

在使用FileMaker开发解决方案的过程中,经常需要对某个字段进行一些格式化,比如订单号必须是AB0000x这种形式,或者比如5/9/2012这样一个日期,需要提取日期“9”并把它格式化为“09”。下面我就通过一个例子讲一下这个方法。

原始数据:5/9/2012

格式化后:20120509

先给出结果:Right(date;4) & Let($end = Position ( date ; "/" ; 0 ; 1 );Right ( "0"& Left(date;$end-1) ; 2 )) & Let([$start = Position ( date ; "/" ; 0 ; 1 );$end =  Position ( date ; "/" ; 0 ; 2 );$duration = $end - $start -1];Right ( "0"& Middle( date ; $start+1; $duration) ; 2 ))

首先看提取年:Right(date;4) 这个很好解释直接取右边4位

然后取月:Let($end = Position ( date ; "/" ; 0 ; 1 );Right ( "0"& Left(date;$end-1) ; 2 )) 先用end变量存储第一个"/"号的位置,然后用Left取出月,为了把单数月格式化为0x的形式,使用前面加0然后Right右两位的方法。

最后取日期:Let([$start = Position ( date ; "/" ; 0 ; 1 );$end =  Position ( date ; "/" ; 0 ; 2 );$duration = $end - $start -1];Right ( "0"& Middle( date ; $start+1; $duration) ; 2 )) 这个道理和取月差不多,先确定第一个“/”和第二个“/”的位置,然后两个相减得到日期的位数,然后用Middle把日期取出来,最后再用Right函数把单位日期前面补0.

给一个数字前补任意位0的方法就是Right("00000…..0000"&你的数据 ; 你要的位数)。

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有