<address id="thnfp"></address>

    <address id="thnfp"><th id="thnfp"><progress id="thnfp"></progress></th></address>
    <listing id="thnfp"><nobr id="thnfp"><meter id="thnfp"></meter></nobr></listing>
    dvbbs
    收藏本頁
    聯系我們
    論壇幫助
    dvbbs

    >> 電腦專業知識交流
    搜一搜相關精彩主題 
    安易免費財務軟件交流論壇專業知識交流電腦知識交流 → 人民幣大寫函數TEXT終極版

    您是本帖的第 1184 個閱讀者
    樹形 打印
    標題:
    人民幣大寫函數TEXT終極版
    猩星
    美女呀,離線,留言給我吧!
    等級:論壇游俠
    文章:251
    積分:1185
    注冊:2008年8月3日
    樓主
      點擊這里發送電子郵件給猩星

    發貼心情
    人民幣大寫函數TEXT終極版

    Function ldyDX(M)'205個字符
    ldyDX = IIf(M > -0.005, "", "負") & IIf(Abs(M) < 0.005, "", Replace(Replace(Replace(Join(Application.Text(Split(Format(Abs(M), "0.00"), "."), Split("[DBNum2] [DBNum2]0角0分")), "元"), "零分", "整"), "零角", ""), "零元", ""))
    End Function

    居然還可以短一點 200個字符

    Function DX(M)'200個字符
    DX = IIf(Abs(M) < 0.005, "", Replace(Replace(Replace(Join(Application.Text(Split(Format(M, " 0. 00")), Split("@ [DBNum2];;0 [>9][dbnum2]圓0角0分;[=0]圓整;[dbnum2]圓零0分")), ""), "零分", "整"), "0圓零", ""), "0圓", ""))
    End Function 

    核心語句2 Join(Application.Text(Split(Format(M, " 0. 00")), Split("@ [DBNum2];;0 [>9][dbnum2]圓0角0分;[=0]圓整;[dbnum2]圓零0分")), "")

    再細分一些居然又減少6個字符突破200了 08-7-23  

    突然想到用 a 代替 “”再少4個   刀砍斧剁 再減5個  不知到是否還能減

    Function DX(M)'185個字符
    DX = IIf(Abs(M) < 0.005, a, Replace(Replace(Replace(Join(Application.Text(Split(Format(M, " 0. 0 0")), Split(" [DBnum2] [DBnum2]圓0角;;圓零 [DBnum2]0分;;整")), a), "零圓零", a), "零圓", a), "零整", "整"))
    End Func
    tion 

    核心語句3 Join(Application.Text(Split(Format(M, " 0. 0 0")), Split("@ [DBNum2] [=]圓零;[dbnum2]圓0角 [=]整;[dbnum2]0分")), "")

    -捌角貳分                     -0.82
    -貳分                            -0.015
    -壹佰圓零貳分             -100.02
    壹萬圓零貳分              10000.02
    貳角整                         0.2
    壹圓整                         0.995

    惡補函數的副產品,純粹的腦力體操。TEXT有如此多秒用!嘆服

    核心語句 Join(Application.Text(Split(Format(Abs(M), "0.00"), "."), Split("[DBNum2] [DBNum2]0角0分")), "元")

    已經完成 X元X角X分 的轉換 其他 iif replace 都是對細節的補充。

    兩年前我寫的7 行,又有 gly1126 寫的3行,到現在的1 行。歡迎測試挑錯

    呵呵

    附一個 抄自 EXCEL吧 的公式 191字符

    =SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(A1)),"[dbnum2]G/通用格式元;負[dbnum2]G/通用格式元;"&IF(A1>-0.5%,,"負"))&TEXT(RIGHT(FIXED(A1),2),"[dbnum2]0角0分;;"&IF(ABS(A1)>1%,"整",)),"零角",IF(ABS(A1)<1,,"零")),"零分","整")

    ip地址已設置保密
    2008/8/3 13:31:04
    tony0576
    帥哥喲,離線,有人找我嗎?
    等級:論壇游俠
    文章:247
    積分:1760
    注冊:2009年5月27日
    2
      點擊這里發送電子郵件給tony0576

    發貼心情
    看不懂
    ip地址已設置保密
    2009/5/31 9:41:46

     2   2   1/1頁      1    
    網上貿易 創造奇跡! 阿里巴巴 Alibaba
    北京安易天地軟件有限公司北方論壇
    聯系電話:010-51268244 13611231185 QQ:511102924
    Powered By Dvbbs Version 7.1.0 Sp1
    頁面執行時間 0.12109 秒, 5 次數據查詢
    Channel