繁体   English   中英

将PyFloatObject转换为float

convert PyFloatObject to float

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个PyFloatObject ,我想将其转换为C float 但是, PyObjectFloat仅提供对double的转换。 我可以安全地将double转换为float,还是有一个将PyObject转换为float的函数,即PyObject_AsFloat

3 个回复

文档

浮点数通常使用C中的double来实现;

换句话说,Python的float类型仅仅是一个C double ,所以没有神奇的Python函数为Python转换float到一个C float比通常可用C,将其他doublefloat

简短的答案是肯定的,只要您的“两倍”适合(相对于幅度)成为“浮动”即可。 但是,您可能需要四舍五入或将其截断为单精度。

使用IEEE 754浮点表示法...

“浮点型定义为IEEE 754单精度,双精度定义为双精度,长双精度定义为IEEE 754扩展精度或某种形式的四精度(如果可用)(例如x86或x86-64上的Intel 80位双精度扩展精度)平台),否则为双精度。以前,所有C90浮动运算都定义为以双精度进行,随后四舍五入为单精度,以便在必要时存储结果。”

关于'754的数据来自http://en.wikipedia.org/wiki/C99 (维基百科上的c99 c规范描述),虽然它不是python特定的,IEEE 754是通用的,而不是c特定的)

您正在使用哪个版本的python? 您可能要使用(来自https://docs.python.org/2/c-api/float.html

double PyFloat_AsDouble(PyObject * pyfloat)返回pyfloat内容的C double表示形式。 如果pyfloat不是Python浮点对象,但具有float ()方法,则将首先调用此方法将pyfloat转换为float。 此方法在失败时返回-1.0,因此应调用PyErr_Occurred()来检查错误。

sprintf放入缓冲区,然后跟atoi似乎可以解决问题

1 从float *转换为vector

我有一个函数float * pointwise_search(vector<float > &P,vector<float > &Q,float* n, int len ) 。 我想matlab调用它所以我需要编写一个mexFunction。 ...

2 将float转换为float选项

如何将float转换为float选项。 这是功能: 我需要sum list_ /. float(List.length list_) sum list_ /. float(List.length list_)返回float option而不是float ,我不知道怎么做。 我想如果 ...

2014-02-02 09:53:13 1 1131   ocaml
3 从void *转换为float

我有一个指向传入的内存中的某个位置的指针, void *dataLoc 。 有些程序在那里传输内存为一堆unsigned char ,其中0x00为0且0xFF为1。 我希望能够拉出每个第4个字符并将其转换为应该表示的数字的float 。 但是我无法理解如何从void *到char ...

4 从unsigned int转换为float

浮点数不应该能够处理int中的任何值吗? 维基: 整数)表示它可以支持更广泛的值。 任何见解都会有所帮助,谢谢。 http://msdn.microsoft.com/en-us/library/s3f49ktz%28VS.80%29.aspx ...

6 从Float转换为整数

我构建了一个简单的Android“加速度计”传感器应用程序。 这是Java代码链接 。 输出是这样的: X:8.87654322 Y:0.564321 Z:4.0195783 有时会更长... 我想将浮点数转换为整数或只有2个数字 (我是Java的初学者。) ...

7 将int转换为float

我正在尝试将int添加到浮点数中。 我的代码是: 输出如下: 浮点数Millit + dmillit:5085840.000005 dbuffer:5085840.000000 为什么有区别? 我还注意到,如果更改dmillit = .5,则两个输出都相同(50 ...

9 将SQLreader转换为float?

我一直在尝试获取贷款金额,并希望其浮动。 但是,loanAmount向我返回的值为0.0。 顺便说一句,sql语句仅返回一个值。 请帮忙? ...

10 将varchar转换为float

在SSMS中,我有一个源表和一个目标表。 在源表中,有一列通常包含十进制数字,但是,当输入值的用户输入3,14而不是3.14或“未知”等时,它偶尔会包含文本。(在源表中从技术上讲,允许用户输入他们想要的任何内容。此规则无法更改。) 我有一个存储过程,该过程从源表中选择一些列(包括相关列) ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM