regarding to showing them as string, I can definitely do that as the last bullet, but that means I cannot use st.write() since it will put a quote mark around strings, not to mention the code to identify those float variables in a big data structure and do the conversions.
My current solution is to convince my clients that 2 looks more beautiful than 2.0, and they are very kind to postpone it till future upgrade.
Unfortunately, I think the answer for your client is that this is a display issue rather than an accuracy issue. Meaning, there’s a story to be told that calculations will be done accurately on the Python side, but in the transfer to JSON/HTML loses some of the display precision.
@Chad_Mitchell brings up a point about specifying the values directly if you knew their types and precisions, but I’m not sure that’s a very scalable solution.