I marked this question as javascript, because although I currently wrote it in Python, if it would be easier to implement in Javascript, I could easily implement it in Javascript.
My task is to make a significant figure calculator for the chemistry department. This means that the student enters his data into the fields, the web application will perform predefined operations on his fields and track significant numbers and see if their answer has the correct number of significant numbers.
When I broke the problem and realized that this was a good workflow, I realized that I needed a way for Python (backend, since this is a web application made in Django) or Javascript (because you can always not check it at the front end ) to determine the number of significant digits. I did a little research and came across this question which tells me that I need to work with python strings instead of float. My current python code seems ALMOST complete, but there is another serious issue I am facing.
import re def find_sigfigs(x):
then without 2
return find_sigfigs('%.e' %(float(x)))
So simple, my problem is that I need a simple way to count sigfigs if it is not explicitly declared by the student (he is when he is in scientific notation). Is there any simple way that I can reset every zero to "e" until it reaches the first digit other than zero. I think I need to start from the back of the split line and delete zeros until I get a great number?
EDIT: So, after a bit more trivial, I hope this is a suitable solution to the problem. I tested it several times, but not too rigorously (it probably works, but who knows! I'm not too good at siggs ...)
def find_sigfigs(x): '''Returns the number of significant digits in a number. This takes into account strings formatted in 1.23e+3 format and even strings such as 123.450'''
source share