Hi Michael,
A function like this should be unit tested. You can have a series of
unit tests where you give the function a string and see if it returns
the correct number. This will be an extremely useful debugging tool
and will save you future debugging pain!
Regards,
Edward
On 19 May 2010 01:52, <michael.bieri@xxxxxxxxxxxxx> wrote:
Author: michaelbieri
Date: Wed May 19 01:52:06 2010
New Revision: 11192
URL: http://svn.gna.org/viewcvs/relax?rev=11192&view=rev
Log:
Function to convert a float written in a string to a proper float object is
added.
Modified:
branches/bieri_gui/gui_bieri/components/conversion.py
Modified: branches/bieri_gui/gui_bieri/components/conversion.py
URL:
http://svn.gna.org/viewcvs/relax/branches/bieri_gui/gui_bieri/components/conversion.py?rev=11192&r1=11191&r2=11192&view=diff
==============================================================================
--- branches/bieri_gui/gui_bieri/components/conversion.py (original)
+++ branches/bieri_gui/gui_bieri/components/conversion.py Wed May 19 01:52:06
2010
@@ -1,0 +1,54 @@
+###############################################################################
+#
#
+# Copyright (C) 2010 Michael Bieri
#
+#
#
+# This file is part of the program relax.
#
+#
#
+# relax is free software; you can redistribute it and/or modify
#
+# it under the terms of the GNU General Public License as published by
#
+# the Free Software Foundation; either version 2 of the License, or
#
+# (at your option) any later version.
#
+#
#
+# relax is distributed in the hope that it will be useful,
#
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
#
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#
+# GNU General Public License for more details.
#
+#
#
+# You should have received a copy of the GNU General Public License
#
+# along with relax; if not, write to the Free Software
#
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
+#
#
+###############################################################################
+
+# Package docstring.
+"""Package for the different conversion tools used to bring together the GUI and API of
relax."""
+
+from string import replace, strip, split
+
+
+def str_to_float(string):
+ """Function to convert a float in a string object to a real float object.
+
+ such as: "3.5 * 1e6" to 3.5*1e6
+
+
+ @keyword string Float in string that will be converted to float
object.
+ @type string str
+ """
+
+ # Delete whitespace.
+ string = replace(string, ' ','')
+
+ # Strip string.
+ values = split(string, '*')
+
+ # Detect exponent.
+ if '1e' in values[1]:
+ exponent = float(replace(values[1], '1e', ''))
+ if '10^' in values[1]:
+ exponent = float(replace(values[1], '10^', ''))
+
+ # Calculate float.
+ float_obj = float(values[0]) * 10**exponent
+
+ return float_obj
_______________________________________________
relax (http://nmr-relax.com)
This is the relax-commits mailing list
relax-commits@xxxxxxx
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits
_______________________________________________
relax (http://nmr-relax.com)
This is the relax-devel mailing list
relax-devel@xxxxxxx
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel