急問公司統一編號如何檢查?(公式為何) |
答題得分者是:RaynorPao
|
asupeduer
初階會員 發表:36 回覆:49 積分:27 註冊:2002-11-08 發送簡訊給我 |
急問公司統一編號如何檢查?(公式為何)
如同身分證統一編號的檢查方式?請問公司統一編號的檢查公式為何 //------------------------------------------------
我常在想,寫程式跟爬格子到底有什麼不同呢???????????
//------------------------------------------------
------
//------------------------------------------------ 我常在想,寫程式跟爬格子到底有什麼不同呢??????????? //------------------------------------------------ |
andersonhsieh
版主 發表:33 回覆:531 積分:439 註冊:2002-06-10 發送簡訊給我 |
function GLB_Chk_idn(chk_idno: string):boolean;
var
wk1 : integer;
wk2,wk3,wk4,wk5 : Integer;
wk6,wk7,wk8,wk9 : Integer;
wk10{,wk11} : Integer;
wk_total : integer;
i : integer;
wk_check : integer;
begin
GLB_Chk_idn := False;
if Length(chk_idno) <> 8 then
begin
GLB_Chk_idn := False;
Exit;
end; for i := 1 to 8 do
begin
if strtofloat(chk_idno[i]) > 9 then
begin
GLB_Chk_idn := False;
Exit;
end;
if strtofloat(chk_idno[i]) < 0 then
begin
GLB_Chk_idn := False;
Exit;
end;
end; wk1 := strtoint(chk_idno[1]) strtoint(chk_idno[3]) strtoint(chk_idno[5]) strtoint(chk_idno[8]);
wk2 := round(int(strtoint(chk_idno[2]) * 2 / 10));
wk3 := round(int(strtoint(chk_idno[4]) * 2 / 10));
wk4 := round(int(strtoint(chk_idno[6]) * 2 / 10));
wk5 := round(int(strtoint(chk_idno[7]) * 4 / 10));
wk6 := strtoint(chk_idno[2]) * 2 mod 10;
wk7 := strtoint(chk_idno[4]) * 2 mod 10;
wk8 := strtoint(chk_idno[6]) * 2 mod 10;
wk9 := strtoint(chk_idno[7]) * 4 mod 10;
wk10:= round(int(wk5 wk9)/10);
// wk11:= (wk5 wk9) mod 10;
wk_total := wk1 wk2 wk3 wk4 wk5 wk6 wk7 wk8 wk9;
wk_check := wk_total mod 10;
if wk_check = 0 then
GLB_Chk_idn := True
else
begin
if chk_idno[7] = '7' then
begin
wk_total := wk1 wk2 wk3 wk4 wk6 wk7 wk8 wk10;
wk_check := wk_total mod 10;
if wk_check = 0 then
GLB_Chk_idn := True
else
GLB_Chk_idn := False;
end;
end;
end; @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@ |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 請問公司統一編號的檢查公式為何asupeduer 你好: 補充一下,資料來源轉貼自以下的連結 http://asp.database.net.tw/Epaper/paper_8.htm ◎營利事業統一編號邏輯檢查程式碼 (2002/12/23) 營利事業統機編號的檢查邏輯 1、各數字分別乘以 1,2,1,2,1,2,4,1。 2、公式如下: D1 D2 D3 D4 D5 D6 D7 D8 * 1 2 1 2 1 2 4 1 (第一列 * 第二列) A1 B1 A2 B2 A3 B3 A4 B4 (Bx:相乘後的十位數) C1 C2 C3 C4 (Cx:相乘後的個位數) X1 X2 X3 X4 X5 X6 X7 X8 (Xx:相加後的十位數) Y7 (Yx:相加後的個位數) Z1= X1 X2 X3 X4 X5 X6 X7 X8 或 Z1= X1 X2 X3 X4 X5 X6 Y7 X8 3、當第 7 位數為 7 者,可取相加之倒數第二位取 0 及 1 來計算如 Z1 及 Z2 計算其和。 4、假如 Z1 或 Z2 能被 10 整除,則表示營利事業統一編號正確。 function idchk(idvalue) { var tmp = new String("12121241"); var sum = 0; re = /^\d{8}$/; if (!re.test(idvalue)) { alert("格式不對!"); return false; } for (i=0; i< 8; i ) { s1 = parseInt(idvalue.substr(i,1)); s2 = parseInt(tmp.substr(i,1)); sum = cal(s1*s2); } if (!valid(sum)) { if (idvalue.substr(6,1)=="7") return(valid(sum 1)); } return(valid(sum)); } function valid(n) { return (n == 0)?true:false; } function cal(n) { var sum=0; while (n!=0) { sum = (n % 10); n = (n - n) / 10; // 取整數 } return sum; }-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
asupeduer
初階會員 發表:36 回覆:49 積分:27 註冊:2002-11-08 發送簡訊給我 |
感謝andersonhsieh大大
但很不幸的,小弟看不懂巴斯卡語,看了有點暈暈的
只懂得C語...... 能否請andersonhsieh大大說明一下
公司統一編號的檢查方式就行了,不用寫成程式 感恩感恩 //------------------------------------------------
我常在想,寫程式跟爬格子到底有什麼不同呢???????????
//------------------------------------------------
------
//------------------------------------------------ 我常在想,寫程式跟爬格子到底有什麼不同呢??????????? //------------------------------------------------ |
hbcapple
一般會員 發表:0 回覆:3 積分:5 註冊:2002-05-27 發送簡訊給我 |
用GOOGLE搜尋
統一編號 檢查
即可....
http://www.tpctax.gov.tw/OPT/營利事業統一編號檢查副程式.rtf
內有說明
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |