【问题标题】:How to add 2 decimals on a double如何在 double 上添加 2 位小数
【发布时间】:2022-12-01 07:24:48
【问题描述】:

我有一个在前端使用 React 的 Rails Web 应用程序。我创建了一个具有精度 => 8、比例 => 2 和默认 => 0.00 的迁移

class ChangeNumericFieldInTeamDonations < ActiveRecord::Migration[6.1]
  def self.up
    change_column :team_donations, :unit_cost, :decimal, :precision => 8, :scale => 2, :default => '0.00'
  end
end

这行得通,但是当我进入表示层并使用 React 时,我按如下方式传递我的道具:

export default function DonationsEdit(props) {
  const [donation, setDonation] = useState(props.donation);
  const [saving, setSaving] = useState(false);

*** removed rows to limit size of write up ***


          <div className="row">
            <div className="col-md-12">
              <div className="form-group">
                <label htmlFor="unit_cost">Unit Cost</label>
                <input className="form-control" placeholder="0.00" type="number" step="0.01" name="unit_cost" id="unit_cost"
                  value={donation.unit_cost} 
                  onChange={e => {
                    const val = e.target.value;
                    setDonation(donation => {
                      return { ...donation, unit_cost: val }
                    });
                  }}
                />
              </div>
            </div>
          </div>
    </React.Fragment>
  );
}

DonationsEdit.propTypes = {
  donation: PropTypes.object
};

如何确保表单以小数类型 0.00 而不是 0.0 开头?

这是一个价格,我不喜欢它只有一位小数,因为它看起来不对。

我尝试使用 '%.2f' % donation.unit_cost 创建一个函数,但我不知道如何让它与返回渲染一起工作 - 任何想法都会有所帮助。谢谢!

【问题讨论】:

    标签: reactjs ruby-on-rails


    【解决方案1】:

    你可以使用 toFixed 函数

    const hello = 0.0
    // Log to console
    console.log(hello.toFixed(2))
    

    here中阅读更多相关信息

    【讨论】:

      猜你喜欢
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 2022-12-18
      • 2013-10-11
      • 2016-10-04
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      相关资源
      最近更新 更多