不知道大家有沒有遇到過求一串?dāng)?shù)據(jù)各數(shù)字和的情況,這兩天就有遇到小伙伴來咨詢這個問題,數(shù)據(jù)庫導(dǎo)入的固定長度數(shù)據(jù),需要把數(shù)據(jù)中的各個數(shù)字相加之和打印出來,要實現(xiàn)求數(shù)據(jù)各數(shù)據(jù)的總合,用中瑯條碼軟件中的腳本編程就可以實現(xiàn)(其實這個功能在Excel也能實現(xiàn)),不過今天我們就主要聊一下中瑯條碼軟件是如何利用腳本編程求固定長度數(shù)據(jù)和,如下圖保存在TXT文本中長度為5的數(shù)據(jù)。
在中瑯條碼打印軟件中新建一個空白標(biāo)簽,打開數(shù)據(jù)庫設(shè)置,添加“TXT文本數(shù)據(jù)源”,彈出TXT文本數(shù)據(jù)源管理窗口,帶你“瀏覽”添加TXT文件,點擊“測試連接”和“添加”完成數(shù)據(jù)庫導(dǎo)入TXT文本中的數(shù)據(jù)。
利用條碼軟件左側(cè)工具欄中的“A”圖標(biāo)在標(biāo)簽上添加兩個普通文本都導(dǎo)入數(shù)據(jù)庫數(shù)據(jù)(其中一個不處理作為對比),雙擊普通文本打開“圖形屬性-數(shù)據(jù)源”,點擊數(shù)據(jù)對象下面的修改按鈕,彈出數(shù)據(jù)對象管理窗口,數(shù)據(jù)對象類型修改為“數(shù)據(jù)庫導(dǎo)入”,導(dǎo)入TXT文本數(shù)據(jù)。
打開下面這個文本的“圖形屬性-數(shù)據(jù)源”,在右側(cè)添加一個“腳本編程”的處理方法,輸入以下代碼:
/*javascript*/
//vars:thisObj,dataObj
var a = dataObj.getOriginalDataValue() + "";
var b =strReturn.split(""); //split()函數(shù),把原數(shù)據(jù)分裂成b[0]、b[1]、b[2]、b[3]、b[4]五部分,以此類推數(shù)據(jù)長度有多少就能分裂成多少
var c = Number(b[0])+Number(b[1])+Number(b[2])+Number(b[3])+Number(b[4]); //求和,Number()函數(shù)把個對象數(shù)值轉(zhuǎn)換成數(shù)字
strReturn = c.toFixed(0); //由于輸出數(shù)據(jù)含小數(shù)點,所以取整輸出
利用split()函數(shù),把原數(shù)據(jù)分成多個部分,比如b[0]代表的是第一個數(shù)據(jù),b[1]代表第二個數(shù)據(jù),b[2]代表第三個數(shù)據(jù),b[3]代表第四個數(shù)據(jù),b[4]代表第五個數(shù)據(jù),利用Number()函數(shù)把各對象轉(zhuǎn)換成數(shù)字再相加就得出各項數(shù)字之和了。打印預(yù)覽也可以批量求和的效果。
綜上所述就是利用中瑯條碼軟件腳本編程求固定長度數(shù)據(jù)的和方法,如果輸出的數(shù)據(jù)不是數(shù)字之和,而是“NaN”字符,這就說明輸入的數(shù)據(jù)長度不對,或者數(shù)據(jù)不是純數(shù)字(含有其他的字母,字符等),檢查原數(shù)據(jù)。
共有條評論 網(wǎng)友評論