使用有限的类 C 库将科学计数法字符串中的数字转换为浮点数

Posted

技术标签:

【中文标题】使用有限的类 C 库将科学计数法字符串中的数字转换为浮点数【英文标题】:Convert number in scientific notation string to float with limited C-like library 【发布时间】:2018-09-18 08:50:51 【问题描述】:

我正在用 CAPL(基于 C 并减去一些概念)编写一个程序,将包含以科学计数法显示的数字的字符串转换为浮点数(严格来说不需要是浮点数,但我认为它合适的类型)。例如:

-7.68000000E-06 应转换为 -0.00000768

我已经四处寻找这个,atof() 出现了很多,但是 CAPL 不支持这个,所以我不能使用它。

CAPL 不支持的其他 C 概念列表:

更新:感谢大家的帮助。 M. Spiller's answer 被证明是最简单的解决方案。我已经接受了这个答案。

【问题讨论】:

strtof 是否可用(来自标准库)? CAPL 支持floatdouble 类型吗? 附带说明,像-7.68000000E-06 这样的文字实际上已经是有效的C。使用strtod 我猜你可以使用strtod 作为答案here。 【参考方案1】:

在 CAPL 中,该函数称为 atodbl,其签名与 C 的 atof 相同。

【讨论】:

以上是关于使用有限的类 C 库将科学计数法字符串中的数字转换为浮点数的主要内容,如果未能解决你的问题,请参考以下文章

将科学计数法中的数字转换为十进制[关闭]

php基础:查询程序运行时间并且把科学计数法转换成正常数字

将字符串格式的科学记数法转换为火花数据帧中的数字[重复]

js怎么把科学计数法转换成数字

java代码怎么把科学计数法转换为具体数字

MongoDB以科学计数法将数字转换为字符串