草庐IT

long-double

全部标签

java - 将 java.lang.Long 转换为原始 int 的最有效方法

我有一个奇怪的场景,我需要将数百万个java.lang.Long转换为原始int类型。我每天都需要这样做几次,每一天。通常,我不会担心这种简单的转换,但由于这种情况发生得如此频繁,我不得不问:执行此操作最有效的方法是什么,为什么?我的第一次尝试:LongmyLong=getLong();intx=Integer.valueOf(myLong.toString())尽管这看起来像是绕着谷仓走了3条路。提前致谢。 最佳答案 Long类有一个.intValue()方法,我想这就是您要找的...(警告,你可能会失去精度等等——但你可能已经知

Java 的 '==' double 运算符

此方法返回“真”。为什么?publicstaticbooleanf(){doubleval=Double.MAX_VALUE/10;doublesave=val;for(inti=1;i 最佳答案 您正在从一个巨大值中减去一个非常小的值(小于1000)。小值远小于大值,最接近理论结果的可表示值仍然是原始值。基本上这是float工作方式的结果。假设我们有一些十进制浮点类型(只是为了简单起见),它只在尾数中存储5位有效数字,以及一个0到1000范围内的指数。你的例子就像写10999-1000...想想当四舍五入到5位有效数字时结果会是什

java - 如何在java中生成一个4位的随机long?

这个问题在这里已经有了答案:HowdoIgeneraterandomintegerswithinaspecificrangeinJava?(72个回答)关闭7年前。如何利用java中的random类生成[0000,9999](含)范围内的long?长必须是4位数字。

java - 如何在一行中将字符串数组转换为 double 组

我有一个字符串数组:String[]guaranteedOutput=Arrays.copyOf(values,values.length,String[].class);所有字符串值都是数字。数据应转换为Double[]。问题Java中是否有单行解决方案来实现这一点,或者我们需要循环并将每个值转换为Double? 最佳答案 Java8StreamAPI允许这样做:double[]doubleValues=Arrays.stream(guaranteedOutput).mapToDouble(Double::parseDouble)

java - double 值返回 0

这个问题在这里已经有了答案:Intdivision:Whyistheresultof1/3==0?(19个回答)关闭4年前。这是一个例子:Doubled=(1/3);System.out.println(d);这会返回0,而不是0.33333...,这是应该的。有人知道吗?

java - 为什么 (long)9223372036854665200d 给我 9223372036854665216?

我知道有精度错误的奇怪东西,但我无法理解,为什么(long)9223372036854665200d给我9223372036854665216? 最佳答案 9223372036854665200d是double类型的常量。但是,9223372036854665200不适合double而不会损失精度。double只有52位的尾数,而所讨论的数字需要63位才能准确表示。最接近9223372036854665200d的double是尾数等于1.111111111111111111111111111111111111111111110010

java - 如何检查 Double 值是否为负数?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。如标题所示,我如何检查特定的Double是否为负数。这是如何获取Double实例(Double.parseDouble(data[2])想法、建议?

java - 为什么 Random.nextLong 不在 Java 中生成所有可能的 long 值?

Random类的nextLong()方法的Javadoc指出BecauseclassRandomusesaseedwithonly48bits,thisalgorithmwillnotreturnallpossiblelongvalues.(Randomjavadoc)实现是:return((long)next(32)我的看法如下:要创建任何可能的long,我们应该以相等的可能性生成任何可能的64位位模式。假设对next(int)的调用给了我们32个随机位,那么这些位的串联将是一个64个随机位的序列,因此我们以相等的可能性生成每个64位模式。因此所有可能的长值。我想编写javadoc的

java - 为什么 anyValue 是 double 值时 Sonar 中的 anyValue % 1 "silly math"?

SonarQube提出重大违规Sillymathshouldnotbeperformed在我的代码中。描述说Certainmathoperationsarejustsillyandshouldnotbeperformedbecausetheirresultsarepredictable.Inparticular,anyValue%1issillybecauseitwillalwaysreturn0.但在我的例子中,anyValue是一个double值。这有效asintended为了我。这是实际的代码:doublev=Double.parseDouble(Utils.formatDoub

java - JSON - 简单获取 Integer 而不是 Long

如何从JSON中获取Integer而不是Long?我想在我的Java程序中读取JSON,但是当我得到一个数字JSON值时,我的解析器返回一个Long类型的数字。我想得到一个Integer。我试图将long转换为整数,但java抛出ClassCastException(java.lang.Long无法转换为java.lang.Integer).我尝试了几种方法,例如首先将long转换为字符串,然后使用Integer.parseInt();进行转换,但还是行不通。我正在使用json-simple编辑:我仍然无法让它工作。这是一个例子:jsonItem.get("金额");//返回一个对象我