如何在 ruby​​ 中将分数转换为浮点数

2024-04-24

我有一根绳子"1/16"我想将其转换为浮点数并乘以45。但是,我没有得到想要的结果。

我正在尝试script/console

>> "1/16".to_f
=> 1.0
>> "1/16".to_f*45
=> 45.0

我怎样才能得到想要的结果2.81

大图: 我有一个像这样的下拉菜单:

<%=select_tag :volume, options_for_select(["", "1 g", "1/16 oz", "1/8 oz","1/4 oz",
"1/2 oz", "1 oz", "1/8 lb", "1/4 lb", "Single", "Multi 5" ], "N/A") %>

每当用户选择oz那么我想将它乘以 45

so i do:

first, *rest = params[:volume].to_s.split(/ /)
if rest.first=="oz"
    @indprodprice = @prods.orig_price.to_i*first.to_f*28.3495
else 
    @indprodprice = @prods.orig_price.to_i*first.to_f*453.59237
end

使用理性

>> (Rational(*("1/16".split('/').map( &:to_i )))*45).to_f
=> 2.8125
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 ruby​​ 中将分数转换为浮点数 的相关文章

随机推荐

  • 命令行 Ruby 函数的手册页

    有没有办法从命令行获取 Ruby 函数的手册 像 funcR 中的手册页 The ri工具在这里可能会有所帮助 http rubylearning com satishtalim ruby ri tool html ri Array ri
  • 如何使用 CPANPLUS 自动捆绑包更新新版本的 Perl?

    我有 Perl 5 13 4 其中包含大量已安装的 CPAN 模块 我刚刚编译了 Perl 5 14 0 我想将 5 13 4 中的所有模块安装 重新编译 到 5 14 0 中 我可以 已经使用 cpanp 和 b 选项生成了已安装模块的捆
  • 在 R 中将矩阵组合成数组

    如果我创建了多个矩阵 如何将它们组合成一个数组 我有 8 个矩阵 每个矩阵有 200 行和 200 列 我需要将它们组合成一个 dim 200 200 8 的数组 所以我希望每个矩阵都是数组的一部分 您可以使用abind函数从abind包裹
  • 强制构建全局对象

    代码如下 struct S S debugbreak static const S g s 显然 我希望一些代码在启动时运行 这仅适用于某些具有外部代码引用的符号的源文件 对于静态库中没有任何从外部引用的符号的源文件 看起来编译器或链接器会
  • 如何声明带有值的 ArrayList? [复制]

    这个问题在这里已经有答案了 Java 中的 ArrayList 或 List 声明 https stackoverflow com questions 12321177 arraylist declaration java已提问并回答了如何
  • 是否可以在由同一父进程创建的两个子进程之间建立管道(LINUX,POSIX)

    我有多个孩子由同一个父母 分叉 我尝试构建pipe所有这些子进程之间的连接就像一个链表结构 孩子 1 向孩子 2 发送数据 孩子 2 向孩子 3 孩子 N 向孩子 1 发送数据 有没有正确的方法可以做到这一点 此外 如果我在进程之间创建和通
  • 为什么 JavaScript 的 parseInt 的基数默认为 8?

    在 JavaScript 的 parseInt 函数中将基数默认为 8 如果字符串以 0 开头 让我很烦恼 只是因为我仍然忘记将可选的第二个参数传递为 10 我正在寻找一个答案 告诉我为什么这样做有意义将其默认为 8 如果输入字符串以 0
  • 为什么预分配对列表有用?

    我知道预分配向量或矩阵很有用 因为它们始终存储在连续的内存块中 然而 就列表而言 它可以包含不同长度和模式的元素 所以我的第一个猜测是列表可能只包含指向其元素真实地址的指针 我对么 这里有一个相关问题列表的内部实现是怎样的 https st
  • Python 中的连续“is”运算符[重复]

    这个问题在这里已经有答案了 有人能为我解释一下吗 gt gt gt None is None is None True gt gt gt None is None is None False is 运算符不是接受 2 个操作数 从左侧比较对
  • 正则表达式在所有文件的函数调用中查找/替换参数模式

    我有一个很大的代码库 我们需要在特定函数的参数中进行模式更改 即函数的所有参数foo 从格式重命名something anotherThing将被重命名为something anotherThing 参数可以是任何内容 但始终采用 str1
  • 如何调试视频解码损坏?

    我刚刚开始为一家新公司工作 我的新角色要求我帮助调试他们通过解码帧接收到的视频损坏 尽管我打算深入研究代码并研究问题的具体细节 但它让我开始思考视频调试的总体情况 由于处理视频对我来说非常陌生 整个过程看起来相当复杂 而且似乎有很多地方可以
  • for 循环如何借用迭代器?

    一个人怎样才能拥有一个for in循环借用它正在操作的迭代器 例如 let x vec 1 2 3 4 let i x iter for a1 in i break iterate over just one i for a2 in i b
  • 如何替换 PathBuf 或 Path 的文件扩展名?

    我当前的解决方案是 let temp format png path file stem unwrap to string lossy path pop path push temp 这相当难看 需要至少 6 次函数调用并创建一个新字符串
  • AttributeError:“模块”对象没有属性“模型”

    谁能帮我解决这个问题 from django db import models Create your models here class Poll models model question models CharField max le
  • 同步框架服务器到服务器同步

    I have kind of a such scenario source microsoft com http i msdn microsoft com bb887608 Figure3 en us png Here i need to
  • 如何在 Python 3.8+ 和 Python 2.7 中使用 collections.abc

    在Python 3 3 抽象基类 中collections like MutableMapping or MutableSequence 被移至二级模块collections abc 所以在 Python 3 3 中 真实类型是collec
  • TypeScript:在对象上强制使用单个动态键

    有没有办法为具有以下属性的对象编写接口single动态命名的键 我能够编写一个接受任意数量的动态命名键的接口 但我想将其限制为只有一个 让我们从一些基础知识开始 然后逐步解决我的问题 在下面的接口中 对象只能有一个键 并且它被命名为 id
  • 使用 Windbg 进行关键部分挂起分析

    最近 当我的应用程序一段时间没有响应时 我通过 procdump 生成了一个转储文件 当我在转储文件上运行 locks 时 我得到一个单独的条目 如下所示 0 000 gt locks CritSec 123456 at 00123456
  • 如何为 GHCi 设置程序的命令行参数?

    假设某个 Haskell 文件被执行 runghc Queens hs gecode compile 现在 这失败了 我想用它来调试它ghci 我如何传递选项gecode compile进入程序 所以getArgs会正确读取吗 Thanks
  • 如何在 ruby​​ 中将分数转换为浮点数

    我有一根绳子 1 16 我想将其转换为浮点数并乘以45 但是 我没有得到想要的结果 我正在尝试script console gt gt 1 16 to f gt 1 0 gt gt 1 16 to f 45 gt 45 0 我怎样才能得到想