【问题标题】:How to get the total cost and tax percentage如何获得总成本和税收百分比
【发布时间】:2019-06-20 20:31:15
【问题描述】:

我正在尝试获取由数量、价格和税金组成的总价格

    @order = current_user.orders.build(order_params)
    @order.product = product
    @order.price = product.price
    @orders = product.price * quantity
    @order.total = @orders * 0.029

价格和数量相加,但当我加上税率时,它根本不计算?

【问题讨论】:

  • = 右边的值是否返回您需要的值?,什么不起作用,如果您的意思是该值没有被保存,是因为您需要在分配后保存对象属性的新值。
  • 如果我加上 0.029 它返回 0 美元。但是,如果我拿走 0.029,它会返回不含税的正确价格
  • total:float的类型吗?
  • 总计是一个整数
  • 我更新了我上面的代码

标签: ruby-on-rails ruby


【解决方案1】:

你得到了错误的结果,因为total 的类型是整数,而不是浮点数。

你必须改变这个列类型,所以你需要生成新的迁移:

rails g migration change_total_to_be_float_in_orders

这会产生这样的迁移:

class ChangeTotalToBeFloatInOrders < ActiveRecord::Migration[5.0]
  def change
  end
end

将此行添加到change 方法:

change_column :orders, :total, :float

然后运行迁移:

rails db:migrate

【讨论】:

    【解决方案2】:

    我必须假设“总计”意味着您想要获得包括税在内的订单总额。使用 0.029 意味着您将获得订单的税额,而不是实际的

    这里的区别是

    25 * 0.029 = 0.725
    

    对比

    25 * 1.029 = 25.725
    

    试试这个。

    @order.total = @orders * 1.029
    

    我根据您发布的内容对此进行了测试,它对我有用。

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多