VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請問:支票列印的國字大寫程式!

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
CPS0204



註冊時間: 2014-08-24
文章: 441


第 1 樓

發表發表於: 星期一 三月 21, 2016 10:12 am    文章主題: 請問:支票列印的國字大寫程式! 引言回覆

我寫不出來,請幫忙
最多為99億,無小數點,最後加上整!

例: 3560 印出 參仟伍佰陸拾元整
1,000,250 印出 壹佰萬零貳拾伍元整.....
303,780,001 印出 參億零參佰柒拾捌萬零壹元整
謝謝指導,我碰到中間的零,就不知如何處理?
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 2 樓

發表發表於: 星期一 三月 21, 2016 10:42 am    文章主題: 引言回覆

http://vfp.sunyear.com.tw/viewtopic.php?t=50&highlight=%BC%C6%A6r+%A4%A4%A4%E5


不會寫就該會搜尋

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
CPS0204



註冊時間: 2014-08-24
文章: 441


第 3 樓

發表發表於: 星期一 三月 21, 2016 11:07 am    文章主題: 引言回覆

謝謝指導!
回頂端
檢視會員個人資料 發送私人訊息
perry



註冊時間: 2014-07-20
文章: 203


第 4 樓

發表發表於: 星期一 三月 21, 2016 1:14 pm    文章主題: 引言回覆

這個您玩看看!!
代碼:

proc MyNoToCno
lpar xo_number
if para()<1 or vartype(xo_number)#'N' or xo_number<=0
    retu
endi
priv nn,aa,n_str,c_str,retu_str,i,j,j1
nn=xo_number
aa=iif(nn=int(nn),str(nn,16),str(nn,16,2))
n_str='零壹貳參肆伍陸柒捌玖'
c_str='  仟佰拾兆仟佰拾億仟佰拾萬仟佰拾元  角分'
c_str=iif(nn=int(nn),c_str,subs(c_str,7))
retu_str=''
for i=1 to len(aa)
    if subs(aa,i,1)#' ' and subs(aa,i,1)#'.'
        j=val(subs(aa,i,1))
        j1=subs(c_str,i*2+1,2)
        retu_str=retu_str+iif(j=0,iif(j1='分','',iif(j1$'兆億萬元',j1,iif(righ(retu_str,2)='零','','零'))),subs(n_str,j*2+1,2)+j1)
    endi
next
j=occu('零',retu_str)
for j1=1 to j
    i=at('零',retu_str,j1)
    retu_str=iif(subs(retu_str,i+2,2)$'兆億萬元角',stuff(retu_str,i,2,''),retu_str)
    retu_str=iif(i>2 and subs(retu_str,i-2,2)$'兆億萬' and subs(retu_str,i,2)$'兆億萬',stuff(retu_str,i,2,''),retu_str)
    retu_str=iif(i>2 and subs(retu_str,i-2,2)$'元角分' and subs(retu_str,i,2)$'角分',stuff(retu_str,i,2,''),retu_str)
next
retu retu_str+'整'
endproc

回頂端
檢視會員個人資料 發送私人訊息
perry



註冊時間: 2014-07-20
文章: 203


第 5 樓

發表發表於: 星期一 三月 21, 2016 1:43 pm    文章主題: 引言回覆

代碼:

proc MyNoToCno
lpar xo_number
if para()<1 or vartype(xo_number)#'N' or xo_number<=0
    retu ''
endi
priv nn,aa,n_str,c_str,retu_str,i,j,j1
nn=xo_number
aa=iif(nn=int(nn),str(nn,16),str(nn,16,2))
n_str='零壹貳參肆伍陸柒捌玖'
c_str='  仟佰拾兆仟佰拾億仟佰拾萬仟佰拾元  角分'
c_str=iif(nn=int(nn),c_str,subs(c_str,7))
retu_str=''
for i=1 to len(aa)
    if subs(aa,i,1)#' ' and subs(aa,i,1)#'.'
        j=val(subs(aa,i,1))
        j1=subs(c_str,i*2+1,2)
        retu_str=retu_str+iif(j=0,iif(j1='分','',iif(j1$'兆億萬元',j1,iif(righ(retu_str,2)='零','','零'))),subs(n_str,j*2+1,2)+j1)
    endi
next
j=occu('零',retu_str)
if j>0
for j1=1 to j
    i=at('零',retu_str,j1)
    if subs(retu_str,i+2,2)$'兆億萬元角'
        retu_str=stuff(retu_str,i,2,'')
        *去[ 零 ]時,計數器及總數變數必須要 -1 才能對應正常= ='''
        j1=j1-1
        j=j-1
    endi
    if i>2 and subs(retu_str,i-2,2)$'兆億萬' and subs(retu_str,i,2)$'兆億萬'
        retu_str=stuff(retu_str,i,2,'')
    endi
    if i>2 and subs(retu_str,i-2,2)$'元角分' and subs(retu_str,i,2)$'角分'
        retu_str=stuff(retu_str,i,2,'')
    endi
    if j<1
        exit
    endi
next
endi
retu retu_str+'整'
endproc


x1=mynotocno(1000000000010)
?x1
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作