小写转大写 |
答題得分者是:Stallion
|
ntjrr
高階會員 ![]() ![]() ![]() ![]() 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
function Changdx2(mmje: Double): String;
const s1: String = '零壹贰叁肆伍陆柒捌玖'; s2: String = '分角元拾佰仟万拾佰仟亿拾佰仟万'; function StrTran(const S, S1, S2: String): String; begin Result := StringReplace(S, S1, S2, [rfReplaceAll]); end; var s, dx: String; i, Len: Integer; begin if mmje < 0 then begin dx := '负'; mmje := -mmje; end; s := Format('%.0f', [mmje*100]); Len := Length(s); for i := 1 to Len do dx := dx Copy(s1, (Ord(s[i]) - Ord('0'))*2 1, 2) Copy(s2, (Len - i)*2 1, 2); dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零仟', '零'), '零佰', '零'), '零拾', '零'), '零角', '零'), '零分', '整'); dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零零', '零'), '零零', '零'), '零亿', '亿'), '零万', '万'), '零元', '元'); if dx = '整' then Result := '零元整' else Result := StrTran(StrTran(dx, '亿万', '亿零'), '零整', '整'); end; 这是一段小写转大写函数,直接放到单元中就好用了,但我在想,按常规应该放在 private { Private declarations } 中,比如我的FORM叫 printform 那么如何放呢,这个函数怎么有两个的。
------
我的编程起步于ktop,我将永远支持ktop |
Stallion
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
ntjrr
高階會員 ![]() ![]() ![]() ![]() 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
Stallion
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
1.不是兩個,是inline函數。
2.將該函數寫成獨立的檔案後,要用到這個函數的類別直接uses不就得了! ===================引 用 ntjrr 文 章=================== 前辈,我本想是其它单元要调用一下这个,当然再在其它单元放一下这个函数也一样,但如果用的单元多了,就要放好几个,呵呵 本来按常规 public { Public declarations } function Changdx2(mmje: Double): String; 但他还有一个函数,有两个了,都写在上面又不好运行。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |