[Python.NET] Conversion of single precision floating point to
python floats
Peter Schwalm
Peter.Schwalm at epost.de
Sun Feb 6 01:58:27 CET 2005
Hi Brian,
I recently had a problem retrieving a float value from a dotNet function. I
had a conversion error which was caused by the local setting of the decimal
separator (a comma here in germany).
I figured out that you have already corrected this problem in cvs. Before I
found these correction I have tried the following version, which I would
prefer because it does not use an intermediate string for the conversion.
I don't know if you use this intermediate string accidentally - possibly for
the sake of rounding that happens during conversion to a string?
Anyway I would like to communicate my solution (your last cvs version
commented out):
namespace Python.Runtime {
...
internal class Converter {
...
internal static IntPtr ToPython(Object value, Type type) {
...
case TypeCode.Single:
// string ss = ((float)value).ToString(nfi);
// IntPtr ps = Runtime.PyString_FromString(ss);
// IntPtr op = Runtime.PyFloat_FromString(ps, IntPtr.Zero);
// Runtime.Decref(ps);
// return op;
return Runtime.PyFloat_FromDouble((double) ((float)value));
Greetings
Peter Schwalm
More information about the PythonDotNet
mailing list