Only accept integers, or only floats up to n number of decimals through a number_input widget? (In my use case, I am not using the value parameter, and I may have any combination of the min / max parameter)
remove the onscreen error message “Warning: NumberInput value below has type float, but format %i displays as integer.” (The previous forum suggestions don’t work)
Using floats for the number_input limits allow entering a float. It will be up to the format kwarg to determine how many decimal places are displayed and up to your post-process to truncate it to that certain amount of decimal places.
number = st.number_input("Float", 0.0, 10.0, "min", 1.0, format="%.4f")
number = round(number, 4)
To show a Float without decimals, you can use "%.0f" instead of "%i". However, it will behave differently. "%.0f" rounds the float to the nearest integer whereas "%i" floors the number.
Thanks @edsaac, I knew that min/max would help to cast the number input. However, in my use case, I don’t know which combination of inputs I will receive from the user for this widget. So, my (common) code starts with None for these parameters, and the db field that the result gets outputted to, will need integers / floats (with a specific decimal count).
Yes, the result can be easily cast into integers / floats (in the subsequent code / widget callback).
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.