更新烧瓶中的 SQL 查询不适用于浮点/小数点

Posted

技术标签:

【中文标题】更新烧瓶中的 SQL 查询不适用于浮点/小数点【英文标题】:Update SQL query in flask not working with floating/decimal points 【发布时间】:2020-12-19 03:18:32 【问题描述】:

所以,这里相当新。我正在尝试构建一个模拟“购买股票”行为的网络应用程序。

一切正常,获得价值,使用它,直到我需要更新现金的价值(用户必须花费的钱)。因此,当我购买一只股票时,它会显示正确的价格,但当减去该值时,它会在 SQL 表中四舍五入。

这是更新值的代码部分。我无法让它显示 2 个浮点数。

    @app.route("/")
    @login_required
    def index():
        """Show portfolio of stocks"""
        # Get the user ID
        user_id = session.get('user_id', None)
        # Get the symbol. Query first on stocks SQL
        dictionary = db.execute("SELECT symbol, SUM(shares), company FROM buy_stocks WHERE userid=(:userid) GROUP BY company", userid = user_id)
        # Get the number to iterate on the html template
        iterate = len(dictionary)
        symbol = [None] * len(dictionary)

(继续,最后:)

    for i in range(len(dictionary)):
            value = int( 100 * price[i] * shares[i] )
            value_temp = value / 100
            total[i] = value_temp
    # Cash still avaiable for more transactions. Sum the total and subtract to the money the user still has
    cash_query = db.execute("SELECT cash FROM users WHERE id=(:userid)", userid = user_id)
    cash = cash_query[0]["cash"]

【问题讨论】:

【参考方案1】:

我为此找到的解决方案是将值提取到另一个函数,并在那里处理它们,强制它们有 2 个小数位。

这成功了,但是,仍然试图弄清楚它们如何不能从 main 函数本身工作。

【讨论】:

以上是关于更新烧瓶中的 SQL 查询不适用于浮点/小数点的主要内容,如果未能解决你的问题,请参考以下文章

ISNUMERIC() 不适用于小数

java中两个float数相除,应该是整数却成了小数

NSNumberFormatter 适用于小数分隔符但不适用于逗号分隔符

具有小数/浮点比较的 sqlite 选择查询不起作用

精度浮点型数据精确到了几位小数呢?

T-SQL如何将整型值变成浮点型