title: Python Rounding Down to Custom Step
body: <p>We have a partially working code and 2 examples with different types of custom steps. The example 2 (Int) is working, while the example 1 is not, as it is rounding up instead of down.</p>
  
  <pre><code>import math
  
  def step_size_to_precision(ss):
      return ss.find('1') - 1
  
  def format_value(val, step_size_str):
      precision = step_size_to_precision(step_size_str)
      if precision &gt; 0:
          return "{:0.0{}f}".format(val, precision)
      return math.floor(int(val))
  
  
  ###########################
  
  # # example 1
  step_size = "0.00000100"
  quantity = 0.00725562
  print(quantity)
  print(format_value(quantity, step_size))
  
  # 0.00725562
  # 0.007256  &lt;= Is rounding up instead of down. Should be 0.007255 
  
  ###########################
  
  # # example 2
  # step_size = "1"
  # quantity = 3.00725562
  # print(quantity)
  # print(format_value(quantity, step_size))
  
  # returns 3 &lt;= This is correct
  
  ###########################
  </code></pre>
  
  <p>How do we fix it?</p>