在 Rails + MySQL 中存储百分比

2024-03-27

我需要在 Rails 应用程序中使用百分比。在任何视图中,包括用户输入时,格式都需要是百位格式,100.000。在计算中使用时,需要以百分位的格式表示,1.00000.

我的迁移(我将该列添加到现有表中)具有以下行:

add_column :worker, :cash_split, :decimal, :precision => 6, :scale => 5

所以,截至目前,我将其存储在百分之一(1.00000) 格式。我选择以这种格式存储它的基础是,我认为这意味着更清晰的业务逻辑(即没有worker.cash_split / 100.0.to_d当我需要做乘法时,代码挂在周围。

我唯一的另一个想法可能是滥用composed_of方法。我可以存储数百个数据(100.000) 格式化为 cash_split 然后创建一个属性访问器cash_split_percentage返回cash_split其对应的 1.0000 格式。


你的第一个想法是正确的……不要想太多。

您绝对应该以百分之一的格式将百分比数字存储在数据库中。并在所有 Ruby 计算中使用该格式。

百分比数字是display习俗。例如number0.45 显示为 45%。因此,使用视图助手将百分比数字从其内部格式(十进制数字)转换为您选择的显示格式(包含 % 符号的字符串)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Rails + MySQL 中存储百分比 的相关文章

随机推荐

  • 使用 Hilt 提供首选项数据存储

    我试图提供一个共同的DataStore
  • 使用 Amazon S3 的 Active Storage 不使用指定的文件名进行保存,而是使用文件密钥进行保存

    我在使用 Active Storage 时遇到问题 当我上传到 Amazon S3 时 不是使用原始名称将文件保存在存储桶内 例如myfile zip它正在将其另存为key与该文件关联 所以在 Cyber duck 中我看到这样的东西 5Y
  • 使用 PHP 为 Apple 钱包通行证创建 PKCS #7 分离签名

    这对我来说是一个全新的概念 所以我在黑暗中拍摄 要创建签名文件 请创建 PKCS 7 分离签名 清单文件 使用与您的签名关联的私钥 证书 将 WWDR 中间证书包含在 签名 您可以从 Apple 网站下载此证书 将签名写入pass顶层的文件
  • 确保为一组定义一个且仅有一个默认值

    我有一个与地址表具有一对多关系的客户表 我想限制数据库以便客户with地址将始终有一个 且只有一个 默认地址 我可以很容易地添加一个约束 以确保每个客户只有一个默认地址 然而 我正在努力解决如何应用一个约束来确保地址始终被标记为默认地址 总
  • 距 X-Y-Z 日期还有多少天? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试构建一个倒计时小部件 给定某个日期 PHP 中确定距该日期还有多少天的最简单方法是什么
  • 无法将可等待传递给 asyncio.run_coroutine_threadsafe

    我观察到asyncio run coroutine threadsafe函数不接受一般的可等待对象 我不明白这种限制的原因 观察 import asyncio async def native coro return asyncio cor
  • 如何生成 5 个总和为 100 的随机数 [重复]

    这个问题在这里已经有答案了 你知道一种将整数分成 5 组的方法吗 每组总数必须是随机的 但总数必须等于固定数字 例如我有 100 我想把这个数字分成 1 20 2 3 3 34 4 15 5 18 编辑 我忘了说 是的 平衡是一件好事 我想
  • Android 中的内存不足错误

    我创建了一款使用图像的游戏 并且我的游戏处于纵向和横向模式 我有两种不同的布局 当我从 1 方向切换到其他方向时 执行此操作 5 6 次后 会出现强制关闭错误 错误是这样的 原因 java lang OutOfMemoryError 位图大
  • 正确完成管道中的多处理

    我想知道多重处理是如何正确完成的 假设我有一个清单 1 2 3 4 5 由函数生成f1这是写到Queue 左绿色圆圈 现在我启动两个从该队列中提取的进程 通过执行f2在过程中 他们处理数据 例如 将值加倍 并将其写入第二个队列 现在 函数f
  • 在纯函数语言中,有没有算法可以得到反函数?

    在像 Haskell 这样的纯函数语言中 是否有一种算法可以在双射时获得函数的逆函数 编辑 有没有一种特定的方法来对你的函数进行编程 在某些情况下 是的 有一种漂亮的纸叫其中讨论了几种情况 当你的函数足够多态时 可以完全自动地导出反函数 它
  • r 两个方向都有误差条的散点图

    如何创建在两个方向上带有误差线的散点图 通常误差线位于垂直方向 即 y 值的不确定性 但是我的数据的 x 值也存在不确定性 X ErrX Y ErrY 1 0 0 1 3 0 0 2 1 5 0 3 4 2 0 1 etc Using gg
  • Golang 中的 Shell 扩展(命令替换)

    Go 支持变量扩展 例如 os ExpandEnv 测试 USER gt gt 测试 MyName 但有没有办法扩展可执行文件 就像 shell 的行为方式一样 就像是 os ExpandExecutable 测试 日期 H M gt gt
  • Javascript 获取 PHP 变量中的屏幕宽度

    我有一个响应式网站 其中有简单的下拉登录菜单 http www red team design com simple and effective dropdown login box当网站处于其他导航链接旁边的 桌面 视图 屏幕可用宽度 g
  • 何时使用 RabbitMQ 铲子以及何时使用 Federation 插件?

    对于我工作的公司 我们希望使用 RabbitMQ 作为我们的主要消息总线 我们的想法是 每个应用程序都使用自己的虚拟主机进行内部通信 并且通过 shovel 或联合插件 我们可以在多个虚拟主机 甚至可能是多台机器 非集群 之间共享某些类型的
  • Android 中的图像数组

    我正在尝试使用图像数组 然后将 ImageView 设置为数组中的图像之一 我的第一反应是使用带有图像名称的字符串数组 但这不起作用 我该如何做到这一点 制作一个可绘制数组 其中图像名称不带引号或什么 取决于你的图像在哪里 但如果 R dr
  • 如何使用 SSIS 包中的变量值加载新表?

    我在 SSIS 包 Var1 和 Var2 中有两个变量 这两个变量都有值 有什么方法可以将这两个变量的值放入新表中吗 例如 在新表 col1 中 其值为 Var1 col2 的值为 Var2 Thanks 有几种方法可以做到这一点 一种是
  • 即使使用复制本地,也无法加载文件或程序集“Microsoft.SqlServer.Types”

    我的网络应用程序有一份内部报告 当我在本地浏览该报告时 该报告会按预期显示 我正在使用一个rdlc and xsd有标准的apsx用于呈现报告的网页 我现在已部署到我的临时服务器 当我尝试浏览显示我收到的报告的页面时 An unexpect
  • 如何在 PDO fetchAll 中正确使用 while 循环

    请对我宽容一些 我刚刚开始学习 PDO 并且仍在寻找如何将 mysqli 转换为 PDO 的方法 所以我有一个函数可以从数据库中获取内容 function getContent db PDOconn query SELECT FROM po
  • DI 容器如何知道构造函数需要什么(ASP.NET Core)?

    我读过很多关于什么是 DI 以及如何使用它的文档 与 ASP NET Core 相关 据我了解 当框架为我实例化某个控制器时 它以某种方式知道该控制器的类需要传递给构造函数 是反射还是什么 有人可以告诉我在 ASP NET Core Git
  • 在 Rails + MySQL 中存储百分比

    我需要在 Rails 应用程序中使用百分比 在任何视图中 包括用户输入时 格式都需要是百位格式 100 000 在计算中使用时 需要以百分位的格式表示 1 00000 我的迁移 我将该列添加到现有表中 具有以下行 add column wo