我试过以下,
double doubleVal = 1.745;
double doubleVal1 = 0.745;
BigDecimal bdTest = new BigDecimal( doubleVal);
BigDecimal bdTest1 = new BigDecimal( doubleVal1 );
bdTest = bdTest.setScale(2, BigDecimal.ROUND_HALF_UP);
bdTest1 = bdTest1.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println("bdTest:"+bdTest); //1.75
System.out.println("bdTest1:"+bdTest1);//0.74 problemmmm ????????????
Run Code Online (Sandbox Code Playgroud)
但得到了奇怪的结果.为什么?
我遇到了项目的框架和参考选项卡,发现我可以"添加新参考..."到我的项目,这是什么功能?
我有一个UITableView
选中行时显示复选标记.问题是当我选择一行didSelectRowAtIndexPath
并在所选行上添加一个复选标记时,它会添加一个额外的复选标记.这是我的代码
任何帮助将非常感谢.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
// Configure the cell...
cell.textLabel.text=[[Model.category objectAtIndex:indexPath.row] categoryName];
cell.imageView.image=[[Model.category objectAtIndex:indexPath.row]categoryImage];
//cell.detailTextLabel.text =@"Breve Descripción de la categoria";
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if ([self.tableView cellForRowAtIndexPath:indexPath].accessoryType == UITableViewCellAccessoryCheckmark) {
[self.tableView cellForRowAtIndexPath:indexPath].accessoryType =UITableViewCellAccessoryNone;
[self.cellSelected removeObject:indexPath];
}else {
[tableView cellForRowAtIndexPath:indexPath].accessoryType=UITableViewCellAccessoryCheckmark;
[self.cellSelected addObject:indexPath];
}
[self checkMark];
[tableView reloadData];
}
- (void)checkMark{
for (NSIndexPath * indexPath in self.cellSelected) {
[self.tableView cellForRowAtIndexPath:indexPath].accessoryType=UITableViewCellAccessoryCheckmark;
}
}
Run Code Online (Sandbox Code Playgroud) 我需要在RTF文件中创建一个表.但是我不熟悉RΤF.以下是这些RTF文件应替换的文本文件示例:
GENERAL JOURNAL
Page 1
Date Description Post Ref Debit Credit
------------------------------------------------------------------------------
2011
Dec 1 Utilities Expense 512 250.00
Cash 111 250.00
Paid electric bill for November,
Check No. 1234
2 Cash 111 35.00
Accounts Receivable / Customer Name 115/? 30.00
Interest Income 412 5.00
Receipt of payment on account
from Customer, Check No. 5678
. . .
Run Code Online (Sandbox Code Playgroud)
该表应该有边框,但我不知道如何做到这一点.有些单元格底部必须有特殊边框,如下所示:
Company Name
Schedule of Accounts Receivable
December 31, 2011
Name Balance
------------------------------------------------------------------------------
Adams, John 354.24
Jefferson, Thomas 58.35
Washington, George 754.58 …
Run Code Online (Sandbox Code Playgroud) 我想编写我的代码来处理Microblaze上的TLB未命中,当然还有页面表等.这些都是在OVPsim上完成的.
在我学习的过程中,我编写了这个小程序集以引用未映射的位置(0x1000000) - 我将此作为特权代码运行,其中VM为:
ori r20, r0, 0
ori r12, r0, 0x1000000
/* next line should break it */
sw r20, r12, r0
Run Code Online (Sandbox Code Playgroud)
(即,将内容写入r20 == 0
ORing形成的地址r12 == 0x1000000
,r0 == 0 => 0x1000000
显然.)
但是,GDB没有跳转到异常向量,而是报告"程序收到SIGSEV" - 我出错了什么?我没有在MSR中启用硬件异常位,但是手册说你无法在任何情况下掩盖这些异常,所以这不应该是问题.
进一步的信息我不能得到任何(例如,包括错位异常)要执行的异常处理代码,(除非我明确地调用它),无论我是否使用调试器.关闭调试器后,我从OVPsim得到这个输出(NB我只是改变了测试地址 - 上面的0xA000000和0x100000之间没有区别):
Processor Exception (PC_PRX) Processor 'platform/cpu0' 0x248: sw r20, r12, r0
Processor Exception (PC_WPX) No write access at 0xa000000
Run Code Online (Sandbox Code Playgroud)
这是所有代码都以特权模式运行,所以除非我没有正确配置Microblaze ,否则我没有看到它没有调用处理程序的明显原因.我打开了这些:
icmAddStringAttr(cpu1_attr, "endian", "big");
icmAddDoubleAttr(cpu1_attr, "mips", 100.000000);
icmAddStringAttr(cpu1_attr, "variant", "V8_20");
icmAddBoolAttr(cpu1_attr, "verbose", …
Run Code Online (Sandbox Code Playgroud) 我有这个绝妙的主意,可以加快生成36个文件所需的时间:使用36个线程!不幸的是,如果我j2ssh
用36个线程/会话启动一个连接(一个连接对象),那么一切都比我一次执行每个线程要多得多.
现在,如果我尝试创建36个新连接(36个j2ssh
连接对象),那么每个线程都有一个与服务器的单独连接,要么我的内存异常(不知何故程序仍然运行,并成功结束其工作,比我的时间慢执行一个接一个的线程).
那么该怎么办?如何找到我应该使用的最佳线程数?因为Thread.activeCount()
在开始我的36个线程之前是3?我正在使用联想笔记本电脑英特尔酷睿i5.
我正在尝试将我的数组的每个元素输出到.txt文件中,但由于某种原因它甚至不创建该文件.我在显示方法中有一个cmd输出和文件输出,从main调用.cmd输出完美地工作但是当我使用ofstream尝试创建文件并将数组的元素输出到它时,我看不到任何创建的文本文件.
ofstream ofs("TEST.txt");
if(!ofs)
cout << "cannot use" << endl;
else
{
for(int a=0; a < 12; a++)
{
for(int b=0; b < 12; b++)
{
cout << RandomArray[a][b] << "\t";
ofs << RandomArray[a][b];
}
cout << "\n";
}
}
ofs.close();
Run Code Online (Sandbox Code Playgroud) 我想在python shell中编写简单的数字时钟.我想尽可能避免使用tkinter.这就是我现在拥有的;
import time
while True:
from datetime import datetime
now = datetime.now()
print ("%s/%s/%s %s:%s:%s" % (now.month,now.day,now.year,now.hour,now.minute,now.second))
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)
这会产生反复出现的打印,就像这样;
06/29/16 23:08:32
06/29/16 23:08:33
06/29/16 23:08:34
Run Code Online (Sandbox Code Playgroud)
我知道这很粗糙,我还在学习.我只想要在shell中使用"滴答"数字时钟的一行.我在空闲和Windows 10上使用python 3.5.1.
如果这是不可能的,我非常想知道原因.
非常感谢
c++ ×2
java ×2
bigdecimal ×1
clock ×1
digital ×1
gdb ×1
ios ×1
iostream ×1
microblaze ×1
mmu ×1
objective-c ×1
ovp ×1
python ×1
rounding ×1
rtf ×1
shell ×1
uitableview ×1
visual-c++ ×1