草庐IT

USE_DOUBLE

全部标签

java - 数据结构 : Which should I use for these conditions?

这应该不是一个困难的问题,但我只是希望在我继续之前有人能回答它。我只需要根据这些预期的Activity来决定使用什么数据结构:需要经常按排序顺序进行迭代(从头开始)。需要从排序View中删除/恢复任意元素。以后我会经常对数据进行排序并使用多个排序View。稍后我会经常更改元素在其排序View中的位置。顺便说一句,这是用Java编写的。我最好的猜测是,我要么滚动一些自定义链接哈希集(以按排序顺序排列链接),要么可能只使用树集。但我还不能完全确定。推荐?编辑:我想由于任意删除/恢复,我应该坚持使用树集,对吧?其实不一定。嗯…… 最佳答案

java - Double != null 导致 NullPointerException

我有以下代码片段让我感到困扰,其中currentRate和secondCurrentRate是正确定义的Double对象:(currentRate!=null&&secondCurrentRate!=null)?currentRate*secondCurrentRate:null;这应该检查每个Double是否为空,并相应地分配值null。但是,如果secondCurrentRate为null,则会导致NullPointerException。我已将代码段更改为:(currentRate==null|secondCurrentRate==null)?null:currentRate*s

java - 将 double 转换为另一种数字类型

有些事情让我感到困惑,我没有找到太多关于VM规范的信息。这有点晦涩,如果有人能向我解释,那就太好了。这几行代码......doublemyTest=Double.MAX_VALUE;System.out.println("1.float:"+(float)myTest);System.out.println("2.int:"+(int)myTest);System.out.println("3.short:"+(short)myTest);System.out.println("4.byte:"+(byte)myTest);.....产生这个输出:float:无限整数:21474836

java - 如何用可变数量的十进制数字格式化 double

我正在执行一项任务,我在处理下面提到的负面情况时感到震惊如果值小于1,那么我想为其格式化(添加)4个小数点。例如,如果值为0.4567,那么我需要0.4567否则,如果该值大于1格式且只有2位数字。例如,如果值为444.9,那么我需要444.90上面提到的一切都工作正常,但遇到以下情况也就是说,如果值小于1并且以零结尾(0.1000,0.6000),打印0.2000是没有意义的,所以在这种情况下我希望输出仅为0.20下面是我的程序packagecom;importjava.text.DecimalFormat;publicclassTest{publicstaticvoidmain(S

java - 使用 NumberFormat 具有两位小数的 double 值

我正在使用java.text.NumberFormat使用conman分隔格式将我的double值转换为两位小数。我的行代码是:NumberFormat.getNumberInstance(Locale.US).format(53508));此代码会将53508转换为53,508格式,但我需要53,508.00格式(小数点后两位)。 最佳答案 谢谢friend我解决了....:)下面是代码行NumberFormatformatter=NumberFormat.getInstance(Locale.US);formatter.setM

java - 如何从字符串java中提取 double 或整数

我正在编写这段代码,其中用户输入一个包含数字的字符串,例如H3.07LLomynam3isbob12输出应该是3.07,3.0,12.0我已经设法得到一个正则表达式来查找double,但我不知道如何查找整数。这是我的正则表达式:(-)?(([^\\d])(0)|[1-9][0-9]*)(.)([0-9]+)我对正则表达式很陌生。我尝试添加|[0-9]|但无论我把它放在当前正则表达式中的什么地方,我都会把它弄乱 最佳答案 您可以通过用空格替换非数字字符、修剪然后在空格处拆分来在一行中完成此操作。String[]numbers=str.

java - JSON 库是否就 .5000...1 的 double 值达成一致?

如果我需要将float准确地从C#传输到JSON再到Java,我可以使用JSON数字吗?如果不是,为什么不呢?哪些信息可能会丢失,我如何保证保留这些信息?具体来说,我在C#中使用Json.NET,在Java中使用Jackson(通过其类ObjectMapper)。看起来double.TryParse是Json.NET将数字解析为double时最终使用的,而Double.parseDouble是JacksonObjectMapper将数字解析为double时最终使用的。我可以期待微软的double.TryParse和Java的Double.parseDouble就每个JSON数字的值达成

java - 在 Java 中使用正则表达式从字符串中提取两个 double 值

我正在逐行读取文件,需要从中提取纬度和经度。这是线条的样子:DE83543RottamInnBayernBYOberbayernLandkreisRosenheim47.98312.1278DE21147HamburgHamburgHHKreisfreieStadtHamburg53.5510可以肯定的是,除了代表double的点外,没有其他点被数字包围。不幸的是,有些值没有点,因此最好检查字符串末尾的数字。感谢您的帮助! 最佳答案 如果可以使用java.lang.String#split()//SplitbytabStringva

c# - 可以精确表示为 float / double 的整数范围

这个问题在这里已经有了答案:What'sthefirstdoublethatdeviatesfromitscorrespondinglongbydelta?(4个答案)WhichisthefirstintegerthatanIEEE754floatisincapableofrepresentingexactly?(2个答案)关闭9年前。可以表示为double(resp.float)的(连续)整数的确切范围是多少?我问的原因是因为我对questionssuchasthisone很好奇。何时会发生准确性损失。也就是最小正整数m是什么使得m+1不能精确地表示为double(resp.floa

Java 8 : First use of stream() or parallelStream() very slow - Usage in practice meaningful?

在过去的几天里,我用Java8中的外部迭代、流和并行流进行了一些测试,并测量了执行时间的持续时间。我还阅读了我必须考虑的预热时间。但是还有一个问题。当我第一次对集合调用方法stream()或parallelStream()时,执行时间比外部迭代长。我已经知道,当我在同一集合上更频繁地调用stream()或parallelStream()并计算执行时间时,parallelStream()确实比外部迭代更快。但是由于在实践中一个集合通常也只迭代一次,所以我只看到使用流或并行流的缺点。所以我的问题是:如果我只迭代一次集合,使用流或parallelStream()是个好主意,还是执行时间总是比