草庐IT

malign-double

全部标签

c# - 我什么时候应该使用 double 而不是十进制?

我可以说出使用double(或float)代替decimal的三个优点:使用更少的内存。速度更快,因为处理器本身就支持float学运算。可以表示更大范围的数字。但这些优势似乎只适用于计算密集型操作,例如建模软件中的操作。当然,在需要精度的情况下,例如财务计算,不应该使用double。那么,在“正常”应用程序中选择double(或float)而不是decimal有什么实际原因吗?编辑添加:感谢大家的精彩回复,我从他们那里学到了东西。还有一个问题:一些人指出double可以更准确地表示实数。当宣布时,我认为他们通常也更准确地代表他们。但是,当执行浮点运算时,精度可能会降低(有时会显着降低)

c# - 什么代表sql server中的double?

我在C#中有几个属性是double我想将它们存储在SQLServer的表中,但注意到没有double类型,那么最好使用什么,decimal还是float?这将存储纬度和经度值,因此我需要最准确的精度。感谢到目前为止的回复。 最佳答案 float或者如果你想走老路:real你也可以使用float(53),但它与float的含义相同。(“real”等同于float(24),而不是float/float(53)。)decimal(x,y)SQLServer类型适用于需要精确十进制数而不是float(可以是近似值)的情况。这与C#的“十进制

c# - 如何在 C# 中将 Decimal 转换为 Double?

我想将十进制变量“trans”分配给double变量“this.Opacity”。decimaltrans=trackBar1.Value/5000;this.Opacity=trans;当我构建应用程序时,出现以下错误:Cannotimplicitlyconverttypedecimaltodouble 最佳答案 像这样显式转换为double是不必要的:doubletrans=(double)trackBar1.Value/5000.0;将常量标识为5000.0(或5000d)就足够了:doubletrans=trackBar1.

javascript - JavaScript 是否具有 double float ?

我知道这是一个奇怪的问题,但是JavaScript是否能够处理double而不是单精度float?(64位float与32位float。) 最佳答案 JavaScript中的所有数字都是64位float。引用:http://www.hunlock.com/blogs/The_Complete_Javascript_Number_Referencehttp://www.crockford.com/javascript/survey.html 关于javascript-JavaScript是

javascript - 在没有舍入的情况下在Javascript中将double转换为int

在C#中,以下代码返回2:doubled=2.9;inti=(int)d;Debug.WriteLine(i);然而,在Javascript中,我所知道的将“double”转换为“int”的唯一方法是使用Math.round/floor/toFixed等。有没有一种方法可以转换为int没有四舍五入的Javascript?我知道Number()的性能影响,所以我宁愿尽可能避免将它转换为字符串。 最佳答案 使用parseInt()。varnum=2.9console.log(parseInt(num,10));//2您也可以使用|。va

go - Go 练习之旅 #17 : double less operator

在GoTour练习中#17,我不明白这个表达1packagemainimport"fmt"funcmain(){pow:=make([]int,10)fori:=rangepow{pow[i]=1这个运算符的目的是什么?程序输出:1248163264128256512Programexited. 最佳答案 它是一个二元移位运算符。具体来说,它是左移(因为它们指向左侧)。它的作用是将数字的二进制表示形式中的所有位...向左移动。例如。1的二进制表示是(安全假设为每字节8位):00000001。应用左移产生:00000001这是2的二进

go - 返回 double 组的导出函数

在Golang中如何导出返回double组的函数。以前可能的方式现在似乎返回“运行时错误:cgo结果有Go指针”://exportInitfuncInit(filenamestring)(C.int,unsafe.Pointer){vardoubles[10]float64doubles[3]=1.5return10,unsafe.Pointer(&doubles[0])} 最佳答案 为了在C中安全地存储一个指针,它指向的数据必须在C中分配。//exportInitfuncInit(fstring)(C.size_t,*C.doub

go - "%b"在 fmt.Printf 中对 float64 有什么作用?二进制格式的 float64 中的 Min subnormal positive double 是什么?

GodocforPackagefmtFloating-pointandcomplexconstituents说:Floating-pointandcomplexconstituents:%bdecimallessscientificnotationwithexponentapoweroftwo,inthemannerofstrconv.FormatFloatwiththe'b'format,e.g.-123456p-78代码:fmt.Printf("0b%b\n",255)//0b11111111fmt.Printf("%b\n",1.0)//4503599627370496p-52什

c++ - 如何使 float 表现为 double?

gcc中是否有一些编译器标志将float视为double?我试过了#definefloatdouble但它在许多header中造成严重破坏并且编译失败说明ublic/sdk/inc/crt/float.h:5:40:fatalerror:../include/double.h:NosuchfileordirectoryAtthatlineitwasincludingfloat然后我试着做typedeffloatdouble;但它没有说error:multipletypesinonedeclaration我正在查看可以为我执行此操作的一些编译器标志。 最佳答案

c++ - std::normal_distribution<double> 导致 Windows 与 Linux 的顺序错误?

有人访问过这个问题吗?每1这些实现不需要产生相同的数据。在实践中如何-arm、x86、免费和商业编译器之间的STL实现有很多差异吗?//g++--std=c++11-oaminimal.cpp&&./a#include#includeusingnamespacestd;intmain(){std::mt19937_64gen;gen.seed(17);coutdistr1;for(inti=0;i我可以理解在某些特殊硬件平台上对生成器或分发使用不同的算法,但这种差异似乎更像是一个错误。这是我用来诊断差异来自何处并解决它的更多代码:-生成器和统一分布在win和linux上匹配。-除成对顺