【问题标题】:How to convert string into a decimal?如何将字符串转换为小数?
【发布时间】:2012-11-06 06:07:31
【问题描述】:

我有两个字符串“0.31”和“0.0076”,它们需要存储在 MySQL 的十进制 (10,2) 列中。我如何在 ruby​​ 中而不是直接在 mysql 中进行这种转换

【问题讨论】:

  • "0.0076"0.00(截断)或0.01(四舍五入)应该存储什么?
  • 如果您使用 ActiveRecord,那么 Rails 可能希望将 BigDecimal 对象用于十进制列。至少 PostgreSQL 是这样的。

标签: mysql ruby-on-rails ruby


【解决方案1】:

尝试使用CAST

SELECT CAST(colName AS DECIMAL(10,2))
FROM tableName

【讨论】:

    【解决方案2】:

    使用 MySql 转换函数 CAST 或 CONVERT 。 Read Here

     Select CAST(columnName as DECIMAL(10,2))
    
                    or
    
     Select CONVERT(columnName,DECIMAL(10,2))
    

    【讨论】:

    • 看起来CONVERT 允许文字字符串值,而CAST 不允许。但是,CONVERT 给出了错误的值。
    【解决方案3】:

    或者你可以像

    select format(columnname, 0) as formated from tablename  where condition
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多