【问题标题】:jQuery find whole number and append decimaljQuery查找整数并附加小数
【发布时间】:2009-05-28 20:21:36
【问题描述】:

需要使用 SELECT 下拉列表选项并查找是否有任何值是整数,然后将 .00 附加到列表值选项中。也需要更改值。

<select>
  <option value="1">1</option>
  <option value="1.99">1.99</option>
  <option value="2.99">2.99</option>
  <option value="4">4</option>
</select>

提前感谢您对此的任何帮助

【问题讨论】:

  • 这真的不是 JQuery 的问题,它只是标准的 javascript。 jQuery可以用来方便地从选择框中提取值,但它与计算无关。
  • 不太确定你在做什么,但第二个解决方案没有对数字进行四舍五入......至少没有你那里的数据......
  • 如果数字是 0-9 的整数,我只需要附加 .00,也不需要四舍五入。谢谢!
  • 不过,这就是我的示例正在做的事情。我不确定你从哪里得到它四舍五入的数字。您是否单击了我发布的演示链接? jsbin.com/ayumi - 它保持 1.99 和 2.99 不变,但将 0.00 添加到 1 和 4。这不是你想要的吗?

标签: javascript jquery numeric


【解决方案1】:

非常确定这是否是最好的方法,但它有效:

$('option', '#myselect').each(function() {
    if($(this).val() == parseInt($(this).val(), 10)) {
         var x = $(this).val() + '.00';
         $(this).val(x).text(x);
    }
});

Demo.

再想一想,您也可以使用toFixed 来执行此操作,这样更简洁:

$('option', '#myselect').each(function() {
    var x = Number($(this).val()).toFixed(2);
    $(this).val(x).text(x);
});

Demo.

【讨论】:

  • 我喜欢第一个解决方案,但在从数据库填充值时无法重新加载页面
  • 顺便说一句,我查看了您的第二个解决方案,它似乎将数字四舍五入。只是想澄清一下是不是这样?
  • 如何将它用于两位和三位数字? 10 需要 10.00 和 100 需要 100.00
【解决方案2】:

如果您打算大量使用字符串格式,我建议您获取插件:

http://code.google.com/p/jquery-utils/wiki/StringFormat

然后就很简单了: $.format('{a:.2f}', {a:'1'})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 2017-08-06
    相关资源
    最近更新 更多