- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
使用 Cocoa 或基本 c,如何将 double 转换为字符串表示形式,然后将其转换回完全相同的 double 。可读性并不重要,只有准确性才重要。例如,这行得通吗:
双 a,b;
a=一些值;
b=[[[NSNumber numberWithDouble:a] stringValue] doubleValue];
最佳答案
[编辑] 实际上在 C99 中有一种方法可以做到这一点——使用 %a
格式说明符。这会打印出一个 double 的十六进制科学记数法,因此没有精度损失。结果是准确的。示例:
double d1 = 3.14159;
char str[64];
sprintf(str, "%a", d1);
// str is now something like "0x1.921f9f01b866ep+1"
...
double d2;
sscanf(str, "%la", &d2);
assert(d2 == d1);
原回答如下:
大多数 double 到字符串的转换都不能保证这一点。您可以尝试以非常高的精度打印出 double(一个 double 可以存储大约 16 位十进制数字),但仍有很小的可能出现浮点错误:
// Not guaranteed to work:
double d = ...;
char str[64];
sprintf(str, "%.30g", d);
...
double d2;
sscanf(str, "%g", &d2);
这将以非常高的精度工作,但它仍然可能有几个 ULP(最后一位的单位)的误差。
你在做什么,要求你在使用字符串时产生 100% 完全可重现的值?我强烈建议你重新考虑你想做什么。如果您确实需要精确转换,只需将 double 存储为 8 个字节的二进制文件。如果需要以可打印的格式存储,将二进制数据转换成十六进制(16字节)或base 64。
关于c - 往返文本和返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1893967/
考虑以下示例: >>> from IPython.core.inputtransformer2 import TransformerManager >>> src = """\ ... foo = !
所以我构建 Django 应用程序已经有一段时间了,喝了很酷的东西:只使用 ORM,从不编写自定义 SQL。 一旦您拥有大量用户特定内容(即照片、 friend 、其他数据等),网站的主页(用户将花费
我想使用 Excel 的 XML Map Web 应用程序中来自服务器端 C# 的功能。 XML 映射使您能够将 XML 架构与工作簿相关联,并指定哪些单元格映射到架构的哪些部分。您可以从那里导入 X
Closed. This question needs to be more focused。它当前不接受答案。
我有一个简单但具有挑战性的算法问题要解决。 我有一个交易员 - 股票 - 日级别的数据集,我想识别数据中的往返行程。往返只是数据中的特定序列。也就是说,如果您随着时间的推移累积个人 i 的股票 s 持
是否有一种可靠的方法可以将 HTTP cookie 值精确往返一次? 例如 Set-Cookie: name=value; Max-Age=1; ...但 Max-Age 以增量秒为单位而不是 #re
随着 Swift 3 倾向于 Data而不是 [UInt8] ,我试图找出将各种数字类型(UInt8、Double、Float、Int64 等)编码/解码为 Data 对象的最有效/惯用方法。 有th
我有一个具有以下结构的小部件(它是“计划选择器”简历): 我的指令如下: plans.directive('resume', function()
我们观察到所有消息的 RTT Kafka 延迟较高。 这是我们的实际配置: 我们有 3 个 Kafka 代理 + 3 个 Zookeeper 在 EC2 服务器上的 Kubernetes 集群中运行
使用 Newtonsoft.Json 库,想象一下 public class Test { public Object Obj { get; set; } } 现在,尝试像这样序列化它 var
这里和网络上有很多文章,但这些文章都针对不同的 Objectify 版本,并且由于某种原因似乎不起作用。 我有一个实体,它引用另一个实体(例如,帐户实体引用用户实体): @Cache @Entity
问题:当 SubSonic 对象通过 Windows Communication Foundation 服务来回发送时,如何保留它们的“脏”? 即: 我有一个返回 SubSonic (2.2) 对象集
我想使用 golang 的 xml.MarshalIndent() 快速创建一个实用程序来格式化任何 XML 数据 但是this code package main import ( "enc
我需要有关子流程模块的帮助。这个问题听起来可能是重复的,而且我已经在很多方面看到过很多与之相关的文章。但即便如此我也无法解决我的问题。其过程如下: 我有一个C程序2.c,其内容如下: #include
在尝试创建一些 FFI 帮助程序代码时,我对 Box 这种看似简单的用法感到头疼。 当与具有字段的结构一起使用时,此处的示例似乎给出了 free(): invalidpointer 错误。 pub s
我有两个函数用于在 Blob 和字节数组之间进行转换: function arrayToBlob(data) { return new Blob(data); } function blobT
我一直在尝试将带有 INTO OUTFILE 的 mysql 表导出为 CSV 以便在 Excel 中进行编辑,然后使用 LOAD DATA INFILE 插入回 mysql。 我可以导出 ok,甚至
我正在 Web 服务中实现条件请求。后端可以轻松检索实体的最后修改日期,因此我发送 Last-Modified 并返回 If-Modified-Since。 RFC for HTTP Dates指定与
我正试图找到一种方法来完成 xsd 模式到数据存储区的往返,而工作量最小。 我使用 jaxb 从模式构建我的对象模型,现在我想基于 JPA(或 JDO 或其他?)存储这些对象。是否可以根据 JAXB
我正在使用 DataAnnotations、jQuery.validate 和 jquery.validate.unobtrusive 创建一个日期范围验证器。我已经阅读了以下内容: http://b
我是一名优秀的程序员,十分优秀!