我有一个保存价格,使用Math.ceil方法将输出四舍五入到最接近的£,但是当我执行toFixed给我25.00英镑时,我得到的只是25英镑。
我的代码是这样的: -
jQuery(function($) {
var price = $('.product-info-short meta[itemprop="price"]').attr("content");
var discount = price/10;
var earlyBirdPrice = price-discount;
var div = document.querySelector('.earlyBirdPrice');
//method for early bird price//
div.innerHTML += '<div class="earlyBirdPrice">Price: £' +
Number(earlyBirdPrice.toFixed(2)).toLocaleString('en') + '</div>';
//method for discount price//
div.innerHTML += '<div class="discount"> Saving you £' +
Number(Math.ceil(discount.toFixed(2))).toLocaleString('en') +
'</div>';
});
这里小提琴: https://jsfiddle.net/y18h9s7f/
我做错了什么?
答案 0 :(得分:2)
试试这个: -
div.innerHTML += '<div class="discount"> Saving you £' + Number(Math.ceil(discount)).toFixed(2) + '</div>';
答案 1 :(得分:1)
你需要
Number
构造函数包装Math.ceil
应用于discount
成功
Math.ceil(discount).toFixed(2)
我得到的只是25英镑。
如果小数点后只有0,基本上Number
constructor
将删除小数。
console.log( Number( "25.00" ) );
var discount = 25.00;
console.log(Math.ceil(discount).toFixed(2))
答案 2 :(得分:1)
您显然需要删除Number
包装:
来自:
Number(Math.ceil(discount.toFixed(2))).toLocaleString('en')
致:
Math.ceil(discount).toFixed(2).toLocaleString('en')