首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不带strtod/sprintf的浮点转换

不带strtod/sprintf的浮点转换
EN

Stack Overflow用户
提问于 2013-07-23 14:20:02
回答 1查看 313关注 0票数 1

由于我已经决定在应该在Windows和Linux上运行的程序中在内部使用UTF-16,所以我需要替换一些字符串处理函数,因为我不想转换用户模式代码的本机char表示。但是,如果浮点转换要比运行iconv慢,那么我可以使用strtod/sprintf 的包装器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-23 14:34:44

这些从十进制到十进制的转换都很难做到快速和正确。天真(但正确)版本假设多精度整数,而您可能并不打算依赖这种实现。总之,包装现有的stdtod/sprintf,不要担心开销,在使用这些函数的简单实现时,它的性能损失将很小。

在“天真不正确”类别中,当主机缺少执行strtod()时,所有解释器都会使用它。这个实现很糟糕(它可能会返回几个超低硫磷的结果),但是如果您不介意的话,您可以修改这段代码来操作UTF-16字符。

注意:我认为在swprintf()中有一个C99,但是它是针对wchar_t字符串的,它不必是UTF-16,所以可能对您不起作用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17812899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档