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

請教:如何在VFP9的報表中將數字轉大寫

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



註冊時間: 2013-07-28
文章: 21


第 1 樓

發表發表於: 星期四 十二月 21, 2017 4:40 pm    文章主題: 請教:如何在VFP9的報表中將數字轉大寫 引言回覆

查看之前的文章有人討論到數字轉大寫的資料,但跟我要的不同
我想在報表裡將數字轉成有"萬""仟""佰""拾"的數字

不知程式碼要怎麼寫,要放在報表的哪個位置
我的資料表欄位名稱是table.金額,要在報表裡將這個欄位在列印時轉成大寫
我的數字最多不會超過6位數

有試過用 CHRTRANC()的方式,但轉出來的不會有"萬""仟""佰""拾"
還有什麼函數可以用嗎?

我的報表有二個部份,一個是總表,一個是個別的申請表

如果不行的話,我大概會用笨方法,寫一個程式去轉換,然後一筆一筆填在資料表的另一個欄位裡
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 2 樓

發表發表於: 星期四 十二月 21, 2017 6:28 pm    文章主題: 引言回覆

把報表裡原來的欄位改成一個函數
tranbig( 你的欄位 ) 即可.

代碼:

func tranbig
lpara mm
MM=chrtranc(tran(mm) , '0123456789' , '零壹貳參肆伍陸柒捌玖' )
LOCAL mpos,mret
mret="XX萬XX仟XX佰XX拾XX"
DO WHILE .t.
   mpos = RAT('XX' , mret)
   IF mpos>0
      IF LEN(mm)>0
         mret = STUFF(mret,mpos,2,RIGHT(mm,2))
         mm = LEFT(mm,LEN(mm)-2)
      else
         mret = STUFF(mret,mpos,2,'  ')
      ENDIF
   ELSE
      exit
   endif
ENDDO
RETURN mret

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
johnnytw



註冊時間: 2013-07-28
文章: 21


第 3 樓

發表發表於: 星期四 十二月 21, 2017 10:48 pm    文章主題: 引言回覆

謝謝您的回答
我明天到公司試試
目前我的作法是寫一個程式一筆一筆去改
然後填到一個欄位裡

問一個笨問題,您的這段程式碼我要放在報表的哪一個區塊?
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 4 樓

發表發表於: 星期四 十二月 21, 2017 11:23 pm    文章主題: 引言回覆

放在你的主程式裡或set proc to ??? 裡
也可以單獨建一個檔名為tranbig.prg
裡面內容就是代碼裡的內容,不過你要在去掉func tranbig 這一行才行.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
johnnytw



註冊時間: 2013-07-28
文章: 21


第 5 樓

發表發表於: 星期一 十二月 25, 2017 2:15 pm    文章主題: 引言回覆

了解,謝謝,我試看看,有問題再跟您請教.
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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