
给你看一个小程序就懂了。
private static String getSubStr(String str, int num) {
String result = "";
int i = 0;
while(i < num) {
int lastFirst = strlastIndexOf('/');
result = strsubstring(lastFirst) + result;
str = strsubstring(0, lastFirst);
i++;
}
return resultsubstring(1);
} }
想去倒数第几个后面的字符串就把num设成几,str是原来的字符串,返回得到字符串
以下是本人工资管理系统的计算部分过程
请参考:
(有与excel接口等)
proce sdl00
xx=0
LOCAL oWMI AS OBJECT,oLocal AS OBJECT,oHARDWARE AS OBJECT,object1 AS OBJECT,lcCPUID
,LcMAC,lcHDID,lcSerial
oWMI=CREATEOBJECT("WbemScriptingSWbemLocator")
oLocal=oWMIConnectServer("", "root\cimv2")
oHARDWARE=oLocalExecQuery("SELECT FROM Win32_Processor")
FOR EACH object1 IN oHARDWARE
lcCPUID=object1Properties_('ProcessorId')VALUE
EXIT
ENDFOR
oHARDWARE=oLocalExecQuery("SELECT FROM Win32_PhysicalMedia")
FOR EACH object1 IN oHARDWARE
lcHDID=object1Properties_('SerialNumber')VALUE
EXIT
ENDFOR
oHARDWARE=oLocalExecQuery("SELECT FROM Win32_NetworkAdapterConfiguration Where IPEnabled=1")
FOR EACH object1 IN oHARDWARE
LcMAC=object1Properties_('MACAddress')VALUE
EXIT
ENDFOR
'CPU序号:',lcCPUID
'硬盘序号:',lcHDID
'网卡MAC地址:',LcMAC
for i=1 to len(lcCPUID)
xx=xx+asc(substr(lcCPUID,i,1))
endf
use \dbf\dwname
go top
x=asc(substr(c,4,1))10 + asc(substr(c,2,1))
if x=0 then
messagebox("您的申请码为:"+str(xx)+chr(13)+chr(13)+;
" 我的办公电话: (0411)12345678"+chr(13)+chr(13)+;
" 我的移动电话: 13123456789"+chr(13)+chr(13)+;
" 联系人 : 姜云丽",64,"运行次数已到!如果您对本软件满意,请与开发者联系购买")
quit
endif
if x<=30 and left(c,1)=chr(8) and substr(c,3,1)=chr(4) and substr(c,5,1)=chr(6) then
x=x-1
y=str(x,2)
replace c with chr(8)+chr(val(right(y,1)))+chr(4)+chr(val(left(y,1)))+chr(6)
copy to \shaotxt fields c sdf
messagebox(" 您的申请码为:"+str(xx)+chr(13)+chr(13)+;
" 我的办公电话: (0411)12345678"+chr(13)+chr(13)+;
" 我的移动电话: 13123456789"+chr(13)+chr(13)+;
" 联系人 : 姜云丽",64,"您还有"+y+"次机会!如果您对本软件满意,请与开发者联系购买")
else
if upper(alltrim(c))!=alltrim(str(xx2+1232,30)) then
messagebox(" 如果想购买此软件,请与此软件的开发者联系。"+chr(13)+chr(13)+;
" 您的申请码为:"+str(xx)+chr(13)+chr(13)+;
" 我的办公电话: (0411)12345678"+chr(13)+chr(13)+;
" 我的移动电话: 1312345678"+chr(13)+chr(13)+;
" 联系人 : 姜云丽",64,"请尊重他人的知识产权!")
quit
endif
endif
replace c with "不确切的"
use
return
PROCE FJGZ11
初始化模块
n=messagebox("初始化意味着将数据库原有数据全部清除,"+chr(13)+;
"如果您想清除的话,请键入Y,即刻初始化本"+chr(13)+;
"档案数据库;n〈或直接按回车〉,不清除,"+chr(13)+;
"而返回。",4+32+256,"是否初始化数据库?,想好了,您在决定!")
if n=7 && no
return
endif
n=messagebox("初始化意味着将数据库原有数据全部清除,"+chr(13)+;
"如果您想清除的话,请键入Y,即刻初始化本"+chr(13)+;
"档案数据库;n〈或直接按回车〉,不清除,"+chr(13)+;
"而返回。",4+32+256,"再次提醒您:是否初始化数据库?,想好了,您在决定!")
if n=7 && no
return
endif
copy file \dbf\FJgz1dbf to \dbfbak\FJgz1dbf
use \dbf\FJgz1
zap
use
RETURN
PROCE FJGZ12
部门分类数据的添加
use \dbf\FJgz1
delete all for a01=space(2) or a02=space(2) or a04
pack
if reccount()=0
append blank
replace a01 with "01",a02 with "01"
endif
use
return
PROCE FJGZ13
数据的显示
return
PROCE FJGZ14
数据的修改
return
PROCE FJGZ15
数据的删除
return
PROCE FJGZ16
数据库按一级二级排序
n=messagebox(" 数据库排序意味着将数据库原有数据全部"+chr(13)+;
"按一级二级排序,并且清除一级二级排序编号"+chr(13)+;
"为空或名称为空的数据,Y〈或着直接按回车〉"+chr(13)+;
"执行,N就返回。",32+4,"重要提示!")
if n=6 &&是
use \dbf\FJgz1
delete all for a01=space(2) or a02=space(2) or a03=space(12) or a04
pack
sort to \dbf\temp on a01,a02
use
copy file \dbf\tempdbf to \dbf\FJgz1dbf
endif
messagebox("数据库排序完毕,单击确定,返回。",0+48,"排序完毕!")
RETURN
PROCE FJGZ21
初始化模块
n=messagebox("初始化意味着将数据库原有数据全部清除,"+chr(13)+;
"如果您想清除的话,请键入Y,即刻初始化本"+chr(13)+;
"档案数据库;n〈或直接按回车〉,不清除,"+chr(13)+;
"而返回。",4+32+256,"是否初始化数据库?,想好了,您在决定!")
if n=7 && no
return
endif
n=messagebox("初始化意味着将数据库原有数据全部清除,"+chr(13)+;
"如果您想清除的话,请键入Y,即刻初始化本"+chr(13)+;
"档案数据库;n〈或直接按回车〉,不清除,"+chr(13)+;
"而返回。",4+32+256,"再次提醒您:是否初始化数据库?,想好了,您在决定!")
if n=7 && no
return
endif
copy file \dbf\FJGZ2dbf to \dbfbak\FJGZ2dbf
use \dbf\FJGZ2
zap
use
return
PROCE FJGZ22
如果FJgz2dbf的记录为零,则添加一个记录
use \dbf\FJgz2
if reccount()=0
append blank
replace a01 with "01",a02 with "01"
endif
use
return
PROCE FJGZ26
数据库按一级二级排序
n=messagebox(" 数据库排序意味着将数据库原有数据全部"+chr(13)+;
"按一、二级序号排序,并且清除一、二级排序"+chr(13)+;
"编号为空或名称为空的数据,Y(或着直接按回车)"+chr(13)+;
"执行,N就返回。",32+4,"重要提示!")
if n=6 &&是
use \dbf\FJGZ2
delete all for a01+a02=space(4) or b34
pack
sort to \dbf\temp on a01,a02,xh
use
copy file \dbf\tempdbf to \dbf\FJGZ2dbf
endif
messagebox("数据库排序完毕,单击确定,返回。",0+48,"排序完毕!")
RETURN
PROCE FJGZ27
全自动计算
use \dbf\gx
ab1=alltrim(gxsjgx1)
ab2=alltrim(gxsjgx2)
use
use \dbf\fjgz2
scan all
replace b14 with b1+b2+b3+b4+b5+b6+b7+b8+b9+b10+b11+b12-b13&&第一个小计,纳税部分
sj=&ab1 &&税基本式
replace b26 with &ab2
replace b20 with b15+b16+b17+b18+b19 &&第二个小计,不纳税部分
replace b21 with b14+b20
replace b27 with b22+b23+b24+b25+b26
replace b28 with b21-b27
endscan
use
messagebox("全自动计算完毕,单击确定,返回。",0+48,"全计算完毕!")
return
PROCE FJGZ28
人工修改税金后,并计算计算
use \dbf\fjgz2
scan all
replace b14 with b1+b2+b3+b4+b5+b6+b7+b8+b9+b10+b11+b12-b13&&第一个小计,纳税部分
replace b20 with b15+b16+b17+b18+b19 &&第二个小计,不纳税部分
replace b21 with b14+b20
replace b27 with b22+b23+b24+b25+b26
replace b28 with b21-b27
endscan
use
messagebox("计算完毕,单击确定,返回。",0+48,"计算完毕!")
return
proce fjgz211
清除奖金
n=messagebox("清除奖金意味着将在数据库原有奖金删除。 "+chr(13)+;
"键入Y(或着直接按回车)执行,N就返回。",32+4,"重要提示!")
if n=6 &&是
use \dbf\FJgz2
replace all b12 with 0 && b12-奖金
endif
messagebox("奖金清楚完毕,单击确定,返回。",0+48,"排序完毕!")
RETURN
proce FJGZ31
指定单位报表
create table \dbf\da20 ;
(a01 c (2),; && 一级码
a02 c (2),; && 二级码
xm c (8),; && 姓名
xh n (4),; && 序号
b1 n (6),; && 固定工资
b2 n (6),; && 薪级工资
b3 n (6),; && 绩效工资
b4 n (7,2),; &&
b5 n (6,2),; && 粮煤补贴
b6 n (6),; && 书报补贴
b7 n (6),; && 职务补贴
b8 n (7,2),; && 综合补贴
b9 n (7,2),; && 家属系数
b10 n (7,2),; && 住房补贴
b11 n (7,2),; && 其它
b12 n (6),; && 奖金
b13 n (7,2),; && 扣工资
b14 n (7,2),; && 小计
b15 n (6),; && 误餐费
b16 n (6),; && 卫生费
b17 n (6),; && 独子费
b18 n (6),; && 交通费
b19 n (7,2),; && 采暖费
b20 n (7,2),; && 小计
b21 n (7,2),; && 应付工资
b22 n (7,2),; && 房租
b23 n (7,2),; && 公积金
b24 n (7,2),; && 养老金
b25 n (7,2),; && 其它
b26 n (7,2),; && 税金
b27 n (7,2),; && 扣款计
b28 n (7,2),; && 实发工资
b35 c (19),; && 银行帐号
b40 n (4,2),; && 余额
b41 L (1))
use
use \dbf\dwname
xx=a1
use
正在作个人计算
use \dbf\FJGZ2
set filter to a01+a02=xx
replace b14 with b1+b2+b3+b4+b5+b6+b7+b8+b9+b10+b11+b12-b13&&第一个小计,纳税部分
replace b20 with b15+b16+b17+b18+b19 &&第二个小计,不纳税部分
replace b21 with b14+b20
replace b27 with b22+b23+b24+b25+b26
replace b28 with b21-b27
replace all b40 with b28-int(b28) for val(alltrim(b35))=0 and xxxx &&不在银行开资的,存余额
replace all b28 with int(b28) for val(alltrim(b35))=0 and xxxx &&取整,不在银行开资的
use
use \dbf\FJGZ2
copy to \dbf\temp1 for a01+a02=xx and b41
use
use \dbf\da20
zap
append from \dbf\temp1
count to x5
use
create table \dbf\da21 ;
(ab1 c (8),; &&主管领导
ab2 c (8),; &&审核人
ab3 c (8),; &&工资员
ab4 c (12),; &&部门名称
ab5 n (5); &&共人数
)
use
use \dbf\name
locate for n1="01"
x1=n2
locate for n1="02"
x2=n2
locate for n1="03"
x3=n2
use
use \dbf\FJGZ1
locate for a01+a02=xx
x4=a03
use
use \dbf\da21
zap
append blank
replace ab1 with x1,ab2 with x2,ab3 with x3,ab4 with x4,ab5 with x5
use
return
proce FJGZ34
个人计算(含汇总计算)
create table \dbf\da20;
(a01 c(2),; && 一级码
a02 c (2),; && 二级码
xm c (8),; && 姓名
b0 n (4),; && 人数
b1 n (6),; && 固定工资
b2 n (6),; && 薪级工资
b3 n (6),; && 绩效工资
b4 n (9,2),; &&
b5 n (6,2),; && 粮煤补贴
b6 n (6),; && 书报费
b7 n (6),; && 职务补贴
b8 n (9,2),; && 综合补贴
b9 n (9,2),; &&
b10 n (9,2),; && 住房补贴
b11 n (9,2),; && 其它
b12 n (6),; && 奖金
b13 n (9,2),; && 扣工资
b14 n (9,2),; && 小计
b15 n (6),; && 误餐费
b16 n (6),; && 卫生费
b17 n (6),; && 独子费
b18 n (6),; && 交通费
b19 n (9,2),; && 采暖费
b20 n (9,2),; && 小计
b21 n (9,2),; && 应付工资
b22 n (9,2),; && 房租
b23 n (9,2),; && 公积金
b24 n (9,2),; && 养老金
b25 n (9,2),; && 其它
b26 n (9,2),; && 税金
b27 n (9,2),; && 扣款计
b28 n (9,2),; && 实发工资
b40 n (4,2)) && 余额
use
正在作个人计算
use \dbf\FJGZ2
replace all b14 with b1+b2+b3+b4+b5+b6+b7+b8+b9+b10+b11+b12-b13
replace all b20 with b15+b16+b17+b18+b19
replace all b21 with b14+b20
replace all b27 with b22+b23+b24+b25+b26
replace all b28 with b21-b27
replace all b40 with b28-int(b28) for val(alltrim(b35))=0 and xxxx &&不在银行开资的,存余额
replace all b28 with int(b28) for val(alltrim(b35))=0 and xxxx &&取整,不在银行开资的
index on a01+a02 to \idx\a0102
total on a01+a02 to \dbf\temp1 for b41 &&本月开资的
use
use \dbf\da20
zap
append from \dbf\temp1
use
select 3
use \dbf\FJGZ2
select 1
use \dbf\da20
select 2
use \dbf\FJGZ1
index on a01+a02 to \idx\a0102
select 1
set relation to a01+a02 into FJGZ1
replace all xm with FJGZ1a03
go top
do while not eof()
xx=a01+a02
select 3
count all to x2 for a01+a02=xx &&该部门所有人员,开不开工资均算在内 加and b41仅仅算开工资的
select 1
replace b0 with x2 &&部门人数
skip
enddo
close database
dimension dimc(29)
dimc=0 &&具体值合计
xyz=0 &&人数合计
select 2
use \dbf\da20
copy stru to \DBF\TEMP
select 4
USE \DBF\TEMP
append from \dbf\fjgz1
go top &&tempdbf 4区
do while not eof()
do case
case val(A02)<90 OR val(A02)>99 && 90-99 为专用的号
cursor1=recno() &&当前记录
select 2 &&da20
locate for a01=tempa01 and a02=tempa02
select 4 &&temp
go cursor1
replace ;
b0 with da20b0, b1 with da20b1, b2 with da20b2, b3 with da20b3,;
b4 with da20b4, b5 with da20b5, b6 with da20b6, b7 with da20b7,;
b8 with da20b8, b9 with da20b9, b10 with da20b10,b11 with da20b11,;
b12 with da20b12,b13 with da20b13,b14 with da20b14,b15 with da20b15,;
b16 with da20b16,b17 with da20b17,b18 with da20b18,b19 with da20b19,;
b20 with da20b20,b21 with da20b21,b22 with da20b22,b23 with da20b23,;
b24 with da20b24,b25 with da20b25,b26 with da20b26,b27 with da20b27,;
b28 with da20b28, b40 with da20b40
case a02='99' &&本记录以上 a02<>99 的小计
dimc=0 &&具体值合计
xyz=0 &&人数合计
cursor1=recno() &&当前记录
skip -1
do while (not BOF()) and a02 != "99"
xyz=xyz+b0
for i=1 to 28
x=iif(i<10,"b"+str(i,1),"b"+str(i,2))
dimc(i)=dimc(i)+&x
endfor
dimc(29)=dimc(29)+b40 && 余额
skip -1
enddo
go cursor1
replace b0 with xyz
for i=1 to 28
x=iif(i<10,"dimc("+str(i,1)+")","dimc("+str(i,2)+")")
y=iif(i<10,"b"+str(i,1),"b"+str(i,2))
replace (y) with &x
endfor
replace b40 with dimc(29) && 余额
case a02='98' &&本记录以上所有 a02=99 的小计
dimc=0 &&具体值合计
xyz=0 &&人数合计
cursor1=recno() &&当前记录
skip -1
do while not BOF()
if a02='99' &&是小计
xyz=xyz+b0
for i=1 to 28
x=iif(i<10,"b"+str(i,1),"b"+str(i,2))
dimc(i)=dimc(i)+&x
endfor
dimc(29)=dimc(29)+b40 && 余额
endif
skip -1
enddo
go cursor1
replace b0 with xyz
for i=1 to 28
x=iif(i<10,"dimc("+str(i,1)+")","dimc("+str(i,2)+")")
y=iif(i<10,"b"+str(i,1),"b"+str(i,2))
replace (y) with &x
endfor
replace b40 with dimc(29) && 余额
case a02='96' &&以上两项的小计
dimc=0 &&具体值合计
xyz=0 &&人数合计
cursor1=recno() &&当前记录
skip -2
sum next 2 b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,;
b24,b25,b26,b27,b28,b40 to Array dimc
go cursor1
skip -2
sum next 2 b0 to xyz
go cursor1
replace b0 with xyz
for i=1 to 28
x=iif(i<10,"dimc("+str(i,1)+")","dimc("+str(i,2)+")")
y=iif(i<10,"b"+str(i,1),"b"+str(i,2))
replace (y) with &x
endfor
replace b40 with dimc(29)
endcase
select 4
skip
enddo
select 1
use \dbf\fjgz1
select 4
go top
do while not eof()
replace xm with fjgz1a03
select 1
skip
select 4
skip
enddo
close database
copy file \dbf\tempdbf to \dbf\da20dbf
以下计算在银行开资的
先算在\dbf\fjgz2的在银行开资的
use \dbf\fjgz2
sum all b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,;
b24,b25,b26,b27,b28,b40 to Array dimc for left(b35,1)<>" " and b41
count to xyz for left(b35,1)<>" " and b41
use
use \dbf\da20
append blank
for i=1 to 28
x=iif(i<10,"dimc("+str(i,1)+")","dimc("+str(i,2)+")")
y=iif(i<10,"b"+str(i,1),"b"+str(i,2))
replace (y) with &x
endfor
replace b40 with dimc(29),b0 with xyz
replace xm with "有帐号"
use
create table \dbf\da21 ;
(ab1 c (8),; &&主管领导
ab2 c (8),; &&审核人
ab3 c (8),; &&工资员
ab4 n (5); &&人数
)
use
use \dbf\name
locate for n1="01"
x1=n2
locate for n1="02"
x2=n2
locate for n1="03"
x3=n2
use
use \dbf\FJGZ2
count all to x6 &&人数小计
use
use \dbf\da21
zap
append blank
replace ab1 with x1,ab2 with x2,ab3 with x3,ab4 with x6
use
return
proce FJGZ41
余额送余额数据库
select 1
use \dbf\fjgz3
select 2
use \dbf\fjgz2
copy to \dbf\temp0 for val(alltrim(b35)) = 0 and b41 and xxxx
&&不在银行开资的,b35是银行帐号,b41是本月开资的
use
use \dbf\temp0
select 1
append from \dbf\temp0
index on a01+a02+xm to \idx\afjgz3
total on a01+a02+xm to \dbf\temp1
zap
append from \dbf\temp1
select 2
index on a01+a02+xm to \idx\afjgz2
select 1
set relation to a01+a02+xm into temp0
go top
replace all a03 with temp0xh &&序号
xyz=substr(dtos(date()),5,2)
xyz="y"+xyz
replace all (xyz) with temp0b28-int(temp0b28)
replace all yexj with y01+y02+y03+y04+y05+y06+y07+y08+y09+y10+y11+y12
use
select 2
use
return
proce fjgz49
打印全体余额数
use \dbf\fjgz3
SORT TO \dbf\temp1 ON a01,a02,a03
use
return
proce fjgz54
向建行银行报盘
Use \dbf\fjgz2
copy to \dbf\temp fields b50,b35,b28 for b41 and left(b35,1)<>" "
use
use \dbf\temp
sum b28 to xxx
use
use \dbf\abc
abcdbf的结构就是 b50 N80,b35 C19,B28 N132,CCC
zap
append from \dbf\temp
sort to \dbf\temp on b50
zap
append from \dbf\temp
x=""
y=""
scan all
do case
case b50<10
x=str(b50,1)
case b50>=10 andb50<100
x=str(b50,2)
case b50>=100 andb50<1000
x=str(b50,3)
othe
x=str(b50,4)
endcase
do case
case b28<10
y=str(b28,4,2)
case b28>=10 andb28<100
y=str(b28,5,2)
case b28>=100 andb28<1000
y=str(b28,6,2)
case b28>=1000 andb28<10000
y=str(b28,7,2)
othe
y=str(b28,8,2)
endcase
replace ccc with x+"|"+b35+"|"+y
endscan
n=messagebox(chr(13)+" 现拷贝职工号帐号及实发工资。"+chr(13)+chr(13)+;
" 请插入软(或U)盘后,单击是,即可拷贝报"+chr(13)+;
"银行的数据到C:\建行工资txt"+chr(13)+chr(13),4+32+128,"请注意提示:")
if n=6 && 是
copy to c:\建行工资txt fields ccc sdf
endif
USE
messagebox(chr(13)+"请将c:\建行工资txt备份到软(或U)盘,留做报银行用。"+chr(13)+;
"单击确定,返回本次报盘总额: "+str(xxx,11,2),"请注意提示:")
RETURN
proce fjgz55
向商业银行报盘
create table \dbf\da20 ;
(b35 c (19),; && 银行帐号
b33 c (9),; && 以分为单位的9位数,不足9位,前导为零
c03 c (9); && 9位零
)
use
use \dbf\fjgz2
copy to \dbf\temp1 for len(alltrim(b35)) != 0 and b41
use
use \dbf\da20
append from \dbf\temp1
replace all b33 with ;
replicate("0",9-len(alltrim(str(val(alltrim(b33))100,9))))+;
alltrim(str(val(alltrim(b33))100,9))
replace all c03 with "000000000"
use
n=messagebox(chr(13)+" 现将软盘的原有数据全部清除,并拷贝"+chr(13)+;
"帐号及实发工资"+chr(13)+;
" 请插入一张软盘后,单击是,即可拷贝报"+chr(13)+;
"银行的数据"+chr(13)+chr(13),4+32+128)
if n=6 && 是
erase a:\
use \dbf\da20
copy to a:\b001txt sdf
use
messagebox(chr(13)+"请从软驱中取走A盘,留做报银行用。"+chr(13)+;
"单击确定,返回")
endif
use \dbf\fjgz2
copy to c:\123456xls fields xm,b35,b28 xls
use
messagebox("生成完毕!,放在c:\123456xls",4+32+128)
return
proce fjgz56
向工商银行报盘
create table \dbf\da20 ;
(b35 c (19),; && 银行帐号
b28 c (9),; && 以分为单位的9位数,不足9位,前导为零
c03 c (9); && 9位零
)
use
use \dbf\fjgz2
copy to \dbf\temp1 for len(alltrim(b35)) != 0 and b41
use
use \dbf\da20
append from \dbf\temp1
replace all b28 with ;
replicate("0",9-len(alltrim(str(val(alltrim(b28))100,9))))+;
alltrim(str(val(alltrim(b28))100,9))
replace all c03 with "000000000"
use
n=messagebox(chr(13)+" 现拷贝帐号及实发工资"+chr(13)+;
" 请插入软(或U)盘后,单击是,即可拷贝报"+chr(13)+;
"银行的数据到C:\b001txt"+chr(13)+chr(13),4+32+128)
if n=6 && 是
use \dbf\da20
copy to C:\b001txt sdf
use
messagebox(chr(13)+"请将c:\b001txt备份到软(或U)盘,留做报工行银行用。"+chr(13)+;
"单击确定,返回")
endif
return
proce fjgz57
统计在银行开资的数量
create table \dbf\da20 ;
(a01 c(2),; && 一级码
a02 c (2),; && 二级码
xm c (8),; && 姓名
b0 n (4),; && 人数
b1 n (6),; && 固定工资
b2 n (6),; && 薪级工资
b3 n (6),; && 绩效工资
b4 n (9,2),; &&
b5 n (6,2),; && 粮煤补贴
b6 n (6),; && 书报费
b7 n (6),; && 职务补贴
b8 n (9,2),; && 综合补贴
b9 n (9,2),; && 家属系数
b10 n (9,2),; && 住房补贴
b11 n (9,2),; && 其它
b12 n (6),; && 奖金
b13 n (9,2),; && 扣工资
b14 n (9,2),; && 小计
b15 n (6),; && 误餐费
b16 n (6),; && 卫生费
b17 n (6),; && 独子费
b18 n (6),; && 交通费
b19 n (9,2),; && 采暖费
b20 n (9,2),; && 小计
b21 n (9,2),; && 应付工资
b22 n (9,2),; && 房租
b23 n (9,2),; && 公积金
b24 n (9,2),; && 养老金
b25 n (9,2),; && 其它
b26 n (9,2),; && 税金
b27 n (9,2),; && 扣款计
b28 n (9,2),; && 实发工资
b35 c (19); && 银行帐号
)
use
正在作个人计算
use \dbf\FJGZ2
replace all b14 with b1+b2+b3+b4+b5+b6+b7+b8+b9+b10+b11+b12-b13
replace all b20 with b15+b16+b17+b18+b19
public static void main(String[] args) throws Exception {
int n = 1;
String x = "aaaa";
if(n>=0 && n<=xlength()){
Systemoutprintln( xsubstring(0,xlength()-n) );
}
}
将n的值 模拟用户输入的值即可。
以上就是关于java怎么取得倒数第二个“/”后面的全部的内容,包括:java怎么取得倒数第二个“/”后面的、跪求VF设计程序 在线等、一个java小程序的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)