Vector抛出异常与Object转换为Double后进行大小比较
来源:互联网 发布:齐鲁软件大赛2016 编辑:程序博客网 时间:2024/06/11 19:08
public boolean onBoSaveBeforeCheck() {
boolean flag = false;
Object pk_invbasdoc = null;
Object douNumber;
try {
BillModel billModel = getBillCardPanelWrapper().getBillCardPanel().getBillModel("jzpm_mt_settle_b1");
Vector rowData = billModel.getDataVector();//这里拿到一个vector,vector的每个分量中都是装载着是类似于数组的对象
List pk_contract = (List) rowData.get(0);//这里要是转型为Object[]或是ArrayList[]都抛出了异常
IUAPQueryBS dao = NCLocator.getInstance().lookup(IUAPQueryBS.class);
List result = (List) dao.executeQuery(new StringBuffer("'").append(pk_contract.get(2)).append("'").toString(), new MapListProcessor());
for(int j = 0;j<rowData.size();j++){
List data = (List) rowData.get(j);
List previousData = null;
for(int i = 0;i<data.size();i++){
if(j != 0){
previousData = (List) rowData.get(j-1);
}else if(j==0){
previousData = (List) rowData.get(0);
}
if("小计".equals(data.get(0)) && previousData.get(7) == data.get(3)){
pk_invbasdoc = previousData.get(12);
douNumber = previousData.get(29);//从vector中拿到
double sum =Double.parseDouble(douNumber.toString());
BigDecimal data1 = new BigDecimal(sum);
if(result!=null && result.size()>0){
for(int h=0;h<result.size();h++){
Map map = (Map) result.get(h);
if(map.get("pk_invbasdoc").equals(pk_invbasdoc)){
Object frist = map.get("vrserve3");//这里拿到Object类型的变量一个
double money =Double.parseDouble(frist.toString());//转换成double类型
BigDecimal data2 = new BigDecimal(money);
flag = data1.compareTo(data2) < 1;
}
}
}
}
}
}
} catch (Exception e) {
// TODO: handle exception
}
return flag;
boolean flag = false;
Object pk_invbasdoc = null;
Object douNumber;
try {
BillModel billModel = getBillCardPanelWrapper().getBillCardPanel().getBillModel("jzpm_mt_settle_b1");
Vector rowData = billModel.getDataVector();//这里拿到一个vector,vector的每个分量中都是装载着是类似于数组的对象
List pk_contract = (List) rowData.get(0);//这里要是转型为Object[]或是ArrayList[]都抛出了异常
IUAPQueryBS dao = NCLocator.getInstance().lookup(IUAPQueryBS.class);
List result = (List) dao.executeQuery(new StringBuffer("'").append(pk_contract.get(2)).append("'").toString(), new MapListProcessor());
for(int j = 0;j<rowData.size();j++){
List data = (List) rowData.get(j);
List previousData = null;
for(int i = 0;i<data.size();i++){
if(j != 0){
previousData = (List) rowData.get(j-1);
}else if(j==0){
previousData = (List) rowData.get(0);
}
if("小计".equals(data.get(0)) && previousData.get(7) == data.get(3)){
pk_invbasdoc = previousData.get(12);
douNumber = previousData.get(29);//从vector中拿到
double sum =Double.parseDouble(douNumber.toString());
BigDecimal data1 = new BigDecimal(sum);
if(result!=null && result.size()>0){
for(int h=0;h<result.size();h++){
Map map = (Map) result.get(h);
if(map.get("pk_invbasdoc").equals(pk_invbasdoc)){
Object frist = map.get("vrserve3");//这里拿到Object类型的变量一个
double money =Double.parseDouble(frist.toString());//转换成double类型
BigDecimal data2 = new BigDecimal(money);
flag = data1.compareTo(data2) < 1;
}
}
}
}
}
}
} catch (Exception e) {
// TODO: handle exception
}
return flag;
}
BigDecimal a;
int c = a.compareTo(BigDecimal b)
compareTo()说明:当 a > b 时 返回 1
当 a< b 时 返回 -1
当 a=b 时返回 0
将比较两个double类型的变量的大小时使用 BigDecimal
Vector相当于是一个线程安全的List,并且是长度可变,取值时使用get(Index)方法,该方法本身会抛出异常IndexOutOfBoundsException
如果在Vector分量中存储的也是类似于数组的东西,并且不知道数据类型的情况可用强转为 List 使用。
在强转vector中取到的值时,我遇到过抛出异常的。抛出异常的时候是强转为Object[]类型
Object a;
double b = Double.parseDouble(a.toString());
Object转换为double类型
0 0
- Vector抛出异常与Object转换为Double后进行大小比较
- 把object转换为double型
- double比较大小
- Double比较大小
- java double比较大小
- double比较大小
- java double比较大小
- Int与double的最大值的大小比较
- vector当使用at时抛出异常时进行捕…
- auto_ptr与异常抛出
- 比较int与double型的大小和整数除int与double结果
- float double 比较大小问题
- double类型如何比较大小
- java中比较double大小
- android object比较大小
- double 转换为CString
- 将IPV4转换成LONG后比较大小
- 将百分制转换为五分制,如果输入的成绩超过了0~100时,抛出异常
- hdu 1846 Brave Game (巴什博弈)
- poj 2507 Crossed ladders
- 对map集合进行排序
- 多线程的死锁程序
- 微信公众号开发教程[013]-用户管理
- Vector抛出异常与Object转换为Double后进行大小比较
- linux 服务器时间同步
- UVa - 1615 Highway 高速公路 贪心+区间选点 重庆一中高2018级竞赛班第五次测试 2016.7.26 Problem 1
- FTP主动与被动传输引发的协议那些事
- c++ 模板
- Android ORM框架之GreenDAO
- 信号量操作函数中的SEM_UNDO
- Java & 常用命令
- iOS推送语音