标签: precision

将浮点数限制为两个小数点

我希望a四舍五入到13.95.

>>> a
13.949999999999999
>>> round(a, 2)
13.949999999999999
Run Code Online (Sandbox Code Playgroud)

round功能不像我预期的那样工作.

python floating-point precision rounding

1527
推荐指数
28
解决办法
287万
查看次数

十进制vs双! - 我应该使用哪一个?何时使用?

我一直看到人们在C#中使用双打.我知道我读到某个地方,双打有时会失去精确度.我的问题是什么时候应该使用双倍,何时应该使用小数类型?哪种类型适合货币计算?(即超过1亿美元)

c# precision double currency decimal

851
推荐指数
7
解决办法
42万
查看次数

float和double有什么区别?

我已经读过双精度和单精度之间的区别.然而,在大多数情况下,floatdouble,似乎可以用一个可以互换的,即或其他的似乎不影响使用效果.这是真的吗?浮动和双打什么时候可以互换?它们之间有什么区别?

c c++ floating-point precision

384
推荐指数
9
解决办法
95万
查看次数

如何使用cout以完全精度打印双精度值?

所以我已经得到了我最后一个问题的答案(我不知道为什么我没有想到这一点).当我没想到它的时候,我正在打印一个圆润的double使用cout.如何使用全精度cout打印double

c++ floating-point precision iostream cout

308
推荐指数
9
解决办法
41万
查看次数

JavaScript将float显示为2位小数

我想显示一个2位小数的数字.

我以为我可以toPrecision(2)在JavaScript中使用.

但是,如果数字是0.05,我得到0.0500.我宁愿保持不变.

JSbin上看到它.

做这个的最好方式是什么?

我可以考虑编写一些解决方案,但我想(我希望)内置这样的东西?

javascript floating-point precision

288
推荐指数
9
解决办法
30万
查看次数

如何解释数据库中数字的精度和比例?

我在数据库中指定了以下列:decimal(5,2)

怎么解释这个?

根据SQL Server Management Studio中查看的列上的属性,我可以看到它表示:十进制(数字精度,数字刻度).

精确度和规模在实际意义上是什么意思?

很容易将其解释为带有5位数和2位小数位的十进制数...即12345.12

PS我已经能够从同事那里确定正确的答案,但很难在网上找到答案.因此,我想在stackoverflow上记录问题和答案,以备将来参考.

sql database precision decimal scale

224
推荐指数
3
解决办法
26万
查看次数

以毫秒精度获取DateTime.Now

如何以毫秒精度精确构造实际时间的时间戳?

我需要像16.4.2013 9:48:00:123这样的东西.这可能吗?我有一个应用程序,我每秒采样值10次,我需要在图表中显示它们.

c# precision datetime milliseconds

216
推荐指数
6
解决办法
36万
查看次数

在解释语言上使用非常大的整数时出现意外结果

我想得到的总和1 + 2 + ... + 1000000000,但我在PHP和Node.js得到了有趣的结果.

PHP

$sum = 0;
for($i = 0; $i <= 1000000000 ; $i++) {
    $sum += $i;
}
printf("%s", number_format($sum, 0, "", ""));   // 500000000067108992
Run Code Online (Sandbox Code Playgroud)

Node.js的

var sum = 0;
for (i = 0; i <= 1000000000; i++) {
    sum += i ;
}
console.log(sum); // 500000000067109000
Run Code Online (Sandbox Code Playgroud)

可以使用计算正确的答案

1 + 2 + ... + n = n(n+1)/2
Run Code Online (Sandbox Code Playgroud)

正确答案= 500000000500000000,所以我决定尝试另一种语言.

var sum , i int64
for i = 0 …
Run Code Online (Sandbox Code Playgroud)

php precision integer-overflow node.js integer-arithmetic

192
推荐指数
11
解决办法
3万
查看次数

为什么通过字符串进行的往返转换对双重不安全?

最近我不得不将双序列化为文本,然后将其取回.该值似乎不相等:

double d1 = 0.84551240822557006;
string s = d1.ToString("R");
double d2 = double.Parse(s);
bool s1 = d1 == d2;
// -> s1 is False
Run Code Online (Sandbox Code Playgroud)

但根据MSDN:标准数字格式字符串,"R"选项应该保证往返安全.

往返("R")格式说明符用于确保转换为字符串的数值将被解析回相同的数值

为什么会这样?

c# precision double tostring

184
推荐指数
2
解决办法
9125
查看次数

为什么浮点数不准确?

为什么有些数字在存储为浮点数时会失去准确性?

例如,十进制数9.2可以精确地表示为两个十进制整数(92/10)的比率,两者都可以用二进制(0b1011100/0b1010)精确表示.但是,存储为浮点数的相同比率永远不会完全等于9.2:

32-bit "single precision" float: 9.19999980926513671875
64-bit "double precision" float: 9.199999999999999289457264239899814128875732421875
Run Code Online (Sandbox Code Playgroud)

这样一个看似简单的数字如何在64位内存中表达"太大" ?

language-agnostic floating-point precision

181
推荐指数
4
解决办法
3万
查看次数