小编She*_*don的帖子

基于键对hashmap进行排序

我在java中有以下hashmap:

{B046 = 0.0,A061 = 3.0,A071 = 0.0,B085 = 0.0,B075 = 3.0,B076 = 9.0,B086 = 3.0,B095 = 0.0,B096 = 0.0,A052 = 0.0,B066 = 0.0,B056 = 9.0,B065 = 0.0,B055 = 9.0}

我应该如何对hashmap进行排序,以便将Alphabet和数字数字考虑在内?

生成的hashmap应如下所示:

{A052 = 0.0,A061 = 3.0,A071 = 0.0,B046 = 0.0,B055 = 9.0,B056 = 9.0,B065 = 0.0,B066 = 0.0,B075 = 3.0,B076 = 9.0,B085 = 0.0,B086 = 3.0,B095 = 0.0,B096 = 0.0}

感谢帮助!

java hashmap

75
推荐指数
5
解决办法
13万
查看次数

将double转换为Int,向下舍入

如何将double值转换为int执行以下操作:

Double If x = 4.97542. Convert to int x = 4.

Double If x = 4.23544. Convert to int x = 4.
Run Code Online (Sandbox Code Playgroud)

也就是说,答案总是四舍五入.

java rounding type-conversion

44
推荐指数
3
解决办法
25万
查看次数

熊猫数据精确

默认情况下,数据框中的数值仅存储6位小数.我如何获得完整的精度.

__PRE__

谢谢

python pandas

7
推荐指数
3
解决办法
1万
查看次数

从尾部的qnorm获得高精度值

问题

我正在寻找尾部正态分布的高精度值(1e-10 and 1 - 1e-10),因为我正在使用的R包将任何超出此范围的数字设置为这些值,然后调用qnormand qt函数.

我注意到的是,qnorm在查看尾部时,R 中的实现是不对称的.这对我来说是非常令人惊讶的,因为众所周知这个分布是对称的,我已经看到其他语言中的实现是对称的.我已检查过该qt功能,它在尾部也不对称.

以下是qnorm函数的结果:

x       qnorm(x)                qnorm(1-x)              qnorm(1-x) + qnorm(x)
1e-2    -2.3263478740408408     2.3263478740408408      0.0 (i.e < machine epsilon)
1e-3    -3.0902323061678132     3.0902323061678132      0.0 (i.e < machine epsilon)
1e-4    -3.71901648545568       3.7190164854557084      2.8421709430404007e-14
1e-5    -4.2648907939228256     4.2648907939238399      1.014299755297543e-12
1e-10   -6.3613409024040557     6.3613408896974208      -1.2706634855419452e-08
Run Code Online (Sandbox Code Playgroud)

很明显,在x接近0或1 的值时,此功能会崩溃.是的,在"正常"使用中这不是问题,但我正在研究边缘情况并将小概率乘以非常大的值,在这种情况下,误差(1e-08)变为大值.

注意:我已尝试使用1-x并输入实际数字0.00001,0.99999并且准确性问题仍然存在.

问题

首先,这是一个已知的问题qnormqt实现?我在文档中找不到任何内容,算法应该是p值的准确16位数,10^-314算法AS 241论文中所述.

引自R doc:

Wichura,MJ(1988)Algorithm …

r normal-distribution

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

VBA数组长度取决于用户输入

我希望创建一个简单的双打VBA数组,但我希望数组的长度由工作表的单元格值指定.

我尝试做:

Dim NIteration As Integer: NIteration = ActiveSheet.Cells(16, 2).Value

Dim myArray(1 To NIteration) As Double
Run Code Online (Sandbox Code Playgroud)

它失败了这个错误:"需要持续表达"

arrays excel vba excel-vba

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

将 Double 转换/转换为 int?(对象到原始类型)

如何将Double对象转换/转换为int

Double d = new Double(12.34);
int i = 12 //is what I'm looking for
Run Code Online (Sandbox Code Playgroud)

如果我有一个double我只会使用:

double z = 12.34;
int i = (int)z;
Run Code Online (Sandbox Code Playgroud)

注意:我希望它截断Double(所以 12.9 变成 12),因为我知道它d实际上是一个被转换为 Double 的整数。即我想在一个Double.

java

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