小编TEK*_*TEK的帖子

BigDecimal舍入为0或5

我正在修补BigDecimalAndroid中的货币格式,并想知道是否可以使用以下方法执行以下操作BigDecimal:

我想要的是:

  64.99 --> 65.00 (Rounded Up)
  64.99 --> 60.00 (Rounded Down)
  65.01 --> 70.00 (Rounded Up)
  65.01 --> 65.00 (Rounded Down)
Run Code Online (Sandbox Code Playgroud)

目前,根据我的代码,我只能舍入为零.例如:

我得到了什么:

  64.99 --> 70.00 (Rounded Up)
  64.99 --> 60.00 (Rounded Down)
  65.01 --> 70.00 (Rounded Up)
  65.01 --> 60.00 (Rounded Down)
Run Code Online (Sandbox Code Playgroud)

有没有办法BigDecimal实现我的愿望?

我的代码:

private static void printRoundedValues() {
    NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
    BigDecimal valueUp = new BigDecimal(64.50, new MathContext(1,RoundingMode.UP));
    BigDecimal valueDown = new BigDecimal(64.50, new MathContext(1,RoundingMode.DOWN)); 

    System.out.println("Value Up: " +  currencyFormat.format(valueUp)); …
Run Code Online (Sandbox Code Playgroud)

android rounding bigdecimal

6
推荐指数
1
解决办法
625
查看次数

并行遍历图表

我正在修改考试(仍然)并且遇到了一个让我难过的问题(如下所示).总而言之,我认为问题是"想想any_old_process必须遍历图形并对它找到的对象做一些工作,包括添加更多工作." 我的问题是,什么数据结构可以并行化以实现问题中提出的目标?

垃圾收集器(GC)的作用是回收未使用的内存.跟踪收集器必须通过遍历由聚合关系引起的对象图来识别所有活动对象.简而言之,GC有一些要执行的任务工作列表.它反复(a)获取任务(例如,要检查的对象),(b)执行任务(例如,标记对象,除非它已被标记),以及(c)生成进一步的任务(例如,添加无标记任务的子项)到工作清单).期望并行化该操作.

在单线程环境中,工作列表通常是单个LIFO堆栈.为了使并行GC安全,你需要做些什么?这对于并行GC来说是一个合理的设计吗?讨论数据结构的设计,以支持可以更好地扩展的并行GC.解释为什么你会期望它们更好地扩展.

parallel-processing concurrency multithreading traversal

6
推荐指数
2
解决办法
1260
查看次数

仅为我的应用程序实现IDownloadManger

WebBrowserWinForms应用程序中使用该控件,并按照此处的说明实现了我自己的下载管理器.

我的自定义下载管理器可以工作,但也会覆盖下载管理器Internet Explorer*.有没有办法只在我的应用程序运行时出现自定义下载管理器?或者,当我的申请结束时,有没有办法取消注册?

*我理解这正是实施的重点IDownloadManager,而WebBrowser控制本质上就是Internet Explorer(这就是我走这条路的原因).自定义下载管理器通过允许我知道已下载的内容以及下载位置,提供了我所需要的内容.

c# .net-4.0 webbrowser-control winforms

6
推荐指数
1
解决办法
987
查看次数

将字符串中的所有实例替换为唯一替换

我试图用唯一的替换来替换特定字符串的所有实例。

我想要什么:

如果我有这个字符串:

String testScript = "while(true) { } while   (10 < 7) { } while((10 < 7)) { }";
Run Code Online (Sandbox Code Playgroud)

我想要这个输出:

while(arg0 < 5000 && true) { } while(arg1 < 5000 && 10 < 7) { } while(arg2 < 5000 && (10 < 7)) { }
Run Code Online (Sandbox Code Playgroud)

我拥有的:

但是,传入的字符串replaceAll不会再次被查询(现在我想起来很明显)。

while(arg0 < 5000 && true) { } while(arg0 < 5000 && 10 < 7) { } while(arg0 < 5000 && (10 < 7)){ }
Run Code Online (Sandbox Code Playgroud)

一如既往,我们非常感谢任何答案或评论。

SSCCE:

public static void main(String[] …
Run Code Online (Sandbox Code Playgroud)

java regex string

1
推荐指数
1
解决办法
652
查看次数