草庐IT

T_DOUBLE_ARROW

全部标签

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 - 使用 Java 标准将 Double 转换为 String

我有下面的代码doublecellValue=78871234510124568.0;Stringcell=newBigDecimal(cellValue).toPlainString();Stringb=String.format("%.0f",cellValue);System.out.println("DoubleValueusingBigDecimal"+cell);System.out.println("DoubleValueusingStringformat"+b);我设置的double值没有作为输出返回。DoubleValueusingBigDecimal78871234

java - += int 和 double 转换

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Varyingbehaviorforpossiblelossofprecisioninttesting=0;testing+=2.0上面的代码可以编译。在哪里inttesting=0;testing=testing+2.0;此代码无法编译。知道为什么吗?

java - 使用最多五位数字来格式化 double 值,必要时四舍五入小数位

我有double我想转换为String的值具有以下格式限制的值:number_of_fraction_digits=max(0,5-number_of_integer_digits)本质上,我希望尽可能将位数保留为5,必要时四舍五入小数位。例如:floatString-------------------------11100100100000100000999999999999999.99999999999.999999.9999.99999.9923.3432423.343我研究过使用DecimalFormat但据我所知,它并没有完全实现我所追求的目标。它允许使用setMaximu

Java:Math.random() Max Value (double just less than 1)

我一直对这个有点好奇。Math.random()给出[0.0,1.0)范围内的值。那么它能给出的最大值(value)是多少呢?换句话说,小于1.0的最接近1.0的double值是多少? 最佳答案 Java使用64位IEEE-754表示,因此理论上小于1的最接近数字是十六进制表示形式的3FEFFFFFFFFFFFFFF,符号为0,指数为-1,52位有效数为1.9999999999999997。这大约等于0.9999999999999998。引用文献:IEEE-754Calculator.

java - 为什么需要从 double 到 float 而不是从 int 到 byte 的显式类型转换?

考虑以下语句:byteby=5;//工作正常字面量'5'是int类型并且足够小以适合byte类型的变量。编译器在这里进行隐式类型转换(从int到byte)。现在考虑以下场景:floatfl=5.5;//compilationerror文字'5.5'是double类型,也足够小以适合变量类型float。为什么我们需要像这样显式地类型转换:floatfl=(float)5.5;//worksfine为什么编译器不为我们进行浮点类型转换? 最佳答案 在整数版本中,编译器知道所有数字5中的数据可以存储在一个字节中。没有信息丢失。对于浮点值,

java - 对 long 和 double 的大小感到困惑

这个问题在这里已经有了答案:Whatisthedifferencebetweenthefloatandintegerdatatypewhenthesizeisthesame?(3个答案)关闭3年前。看看Java(但在其他语言中可能相似或相同),long和double都使用8个字节来存储一个值。一个long用8个字节存储从-9,223,372,036,854,775,808到9,223,372,036,854,775,807的长整数double使用8个字节来存储从-1.7E308到1.7E308的doublefloat,最多16位有效数字。我的问题是,如果两者都使用相同的字节数(8个字节

java - Float vs double Math Java

以下是否存在精度差异(假设a和b的值可以在不损失精度的情况下用float表示)。有花车:floata;floatb;doubleresult=1+a*b;double:doublea;doubleb;doubleresult=1+a*b; 最佳答案 简单的例子:floata=16777217;//Largestintexactlyrepresentableinafloat.floatb=16777217;System.out.println((double)(1+a*b));doublec=16777217;doubled=1677