Python 是否有办法将Streamlight用户输入自动格式化为货币(包括逗号、美元符号)?

Python 是否有办法将Streamlight用户输入自动格式化为货币(包括逗号、美元符号)?,python,python-3.x,streamlit,Python,Python 3.x,Streamlit,我正在构建我的第一个streamlight应用程序。在侧边栏上,我有一个字段供用户输入数值。此输入(最初为st.text\u input(),但后来为st.number\u input()启用显示的数据过滤(此处为薪资列) 我已经看过了,但是找不到一种方法来格式化它,这样在输入1000或以上时,它会自动添加一个逗号,因此它是可读的。此外,如果我能在开头添加一个“$”,那就更好了(虽然不是很重要)。我怀疑这超出了Streamlight的功能范围,但我认为可能有一些奇特的方法可以通过它的小部件来实现

我正在构建我的第一个
streamlight
应用程序。在侧边栏上,我有一个字段供用户输入数值。此输入(最初为
st.text\u input()
,但后来为
st.number\u input()
启用显示的数据过滤(此处为薪资列)

我已经看过了,但是找不到一种方法来格式化它,这样在输入1000或以上时,它会自动添加一个逗号,因此它是可读的。此外,如果我能在开头添加一个“$”,那就更好了(虽然不是很重要)。我怀疑这超出了Streamlight的功能范围,但我认为可能有一些奇特的方法可以通过它的小部件来实现这一点

我的代码类似于:

 st.sidebar.markdown('### Enter a minimum full-time salary:')
在这种情况下,我认为有一个图像会有所帮助。在这里,我希望它显示为$500000,即使用户输入500000


经过一些研究,我确定实现这一点的方法是使用
st.number\u input()
而不是
st.text\u input()
。不过
格式
选项的支持很少。这是其他人提出的一个功能:

还有更多。还有这个问题。当这个问题解决后,我将更新最终答案。

Streamlight接受一个
格式的字符串,该字符串的格式与printf相同

所以你想要:

st.sidebar.number_input('', format='{:,d}')

使用空字符串作为标签,因为您似乎正在对标签使用标记。

这不起作用。格式仅限于printf样式,不支持f样式。请参阅我的答案。