草庐IT

double-quoted

全部标签

java - 如何在 Kotlin 中使用 Double Epsilon/Precision 调用 assertEquals?

我想知道,在Kotlin中,是否有可能调用等效的java方法:assertEquals(doubleexpected,doubleactual,doubleprecision)因为每次我都使用这种方法assertEquals(expected:T,actual:T,message:String)而且我找不到具有精度参数的那个。我想调用Java也应该没问题。我对方法的调用:assertEquals(5000.00,calculateCouponAmount(basicFaceValue,basicInterestRate,amortizationBullet,couponNumber1)

Android float/double 资源类型

据我了解可用AndroidResourcetypes,没有直接的方法将浮点值用作资源,除非你使用一些技巧,例如here中提到的技巧。.有什么约定吗? 最佳答案 不,没有为float/double提供直接的资源类型。但是是的,有两个技巧可以做到这一点。1)在dimens.xml9.52从java引用TypedValuetypedValue=newTypedValue();getResources().getValue(R.dimen.my_float_value,typedValue,true);floatmyFloatValue=t

c++ - 所有花车都是 double ?

我正在阅读的教科书是这样说的:C++treatsallfloating-pointnumbersyoutypeinaprogram'ssourcecode(suchas7.33and0.0975)asdoublevaluesbydefault.我觉得这有点奇怪,而且从未听说过。看起来很浪费?如果不指定,为什么要获得额外的精度?为什么有两种不同的类型意味着同样的事情?长双呢? 最佳答案 这是语言规范的一部分。如果你想要双人间,请写:autoa=12.3;如果你想要一个float,写:autoa=12.3f;如果你想要一个长double

c++ - 是否有要求 float 而不是 double 的 printf 说明符?

当我对snprintf和float类型的参数使用“%f”说明符时,出现MISRA类型错误。根据我的研究,MISRA是正确的,因为“%f”需要一个double类型。是否有将使用float类型参数而不是double的浮点说明符或修饰符?我在嵌入式系统上工作,不想从32位float转换为64位double只是为了取悦snprintf函数。代码打印到调试/控制台端口,这是唯一发生转换的地方。对于那些需要代码示例的人://ThissectionisforthoseC++puristsanditfulfillstheC++tag.#if__cplusplus#include#else#includ

c++ - 将 double 值舍入为(稍微)较低精度的好方法是什么?

我的问题是我必须使用第三方函数/算法,它采用double数组作为输入,但显然对输入数据中的非常小的变化很敏感.但是对于我的应用程序,我必须为(几乎)相同的输入获得相同的结果!特别是我有两个测试输入数组,它们直到小数点后的第5个位置都是相同的,但我仍然得到不同的结果。所以导致“问题”的原因一定是在小数点后第5位之后。现在我的想法是将输入四舍五入到略低的精度,以便从非常相似但不是100%相同的输入中获得相同的结果。因此,我正在寻找一种好的/有效的方法来将双精度值四舍五入到稍微较低的精度。到目前为止,我使用这段代码舍入到小数点后的第9位:doublex=original_input();x=

c++ - 为什么 clang 不警告从 double 到 int 的隐式转换,而是在从 long 到 int 时警告?

在下面的代码中:#includeintmain(){constlongl=4294967296;inti=l;returni;//justtosilencethecompiler}编译器警告隐式转换(使用-Wall和-std=c++14)如下:warning:implicitconversionfrom'constlong'to'int'changesvaluefrom4294967296to0[-Wconstant-conversion]没关系。但是如果是double转int则没有警告,如下代码:#includeintmain(){constdoubled=4294967296.0;

c++ - 使用 MSVC 2013 初始化 `static constexpr double`

标题说明了一切,两种常用方法都行不通。我错过了什么?1.classCl{staticconstexprdoublePI;};constexprdoubleCl::PI=3.14;(26):errorC2737:'private:staticdoubleconstCl::PI':'constexpr'objectmustbeinitialized2.classCl{staticconstexprdoublePI=3.14;};(26):errorC2864:'Cl::PI':astaticdatamemberwithanin-classinitializermusthavenon-vol

c++ - 在 C++ 中添加 double 和复数

考虑这段代码:#include#includeintmain(){std::complexz1=5;std::coutz2=5;std::cout这会产生编译错误,因为没有operator-在表达式z1-1中找到类型或z2-1.0.另一方面,更改这些表达式以使基本类型匹配可以正常工作。天真地,为了z1-1我希望int1晋升为double,并期望z2,基类型int,在z2-1.0晋升为complex.怎么回事? 最佳答案 operator-您尝试调用的是具有单一类型模板参数的函数模板。templatecomplexoperator-(

从 double 到 bool 的 c++ 隐式转换是危险的

这是我第二次犯大错,创建了一个bool类型的变量而不是double。例如考虑doublef(){returntrue;}boolsomething(){return0.0;}doubleg(){boolx=0.0;//(1)if(something()){x=f();//wheref()isafunctionreturningadouble}returnx;}我认为编译器应该告诉我这很糟糕,但我的编译器(g++)不会发出带有-Wall的小警告...,这会导致稍后在测试中出现错误。gcc/g++是否有一些选项可以发出警告(例如在第1行,这显然是错误的)? 最佳

c++ - 有效地将 double 除以 2 的幂

我正在实现一个相干噪声函数,并且惊讶地发现使用梯度噪声(即Perlin噪声)实际上比值噪声快一点。分析表明,这样做的原因是将随机int值转换为范围-1.0到1.0的double值所需的除法:staticdoublenoiseValueDouble(intseed,intx,inty,intz){return1.0-((double)noiseValueInt(seed,x,y,z)/1073741824.0);}梯度噪声需要更多乘法,但由于预先计算的梯度表使用noiseValueInt直接计算表中的索引,不需要任何除法。所以我的问题是,考虑到除法是2的幂(2^30),我怎样才能使上述除