I try to get the value of this element:
<input type="number" class="numeric float required form-control input-short"
data-model-attribute="price" id="pin_price" max="10000" min="1.0"
name="pin[price]" step="0.1" value="1.00" data-validate="true" />
It has "1.0-" value after user input.
I try to retrieve its value, but got empty string back
$("#pin_price").val()
it works for input "2.0" btw
If you inspect your code in browser you can see unwanted characters , Thats why its not working, I have modified your code and its working great with
jquery. Check jsfiddle