2

所以这是我的问题:我有一个通过 AJAX 提取的价格,但是如果它以零结尾,我从中提取的价格不会将最后一个零添加到价格中。例如,0.40 美分的东西将返回 0.4。所以现在我正在尝试找到一种方法来定位存储价格的 div,在期间拆分价格,如果美分列的长度小于 2,则在价格中添加零。这就是我需要的代码。这是我的代码。

var split4 =  $('#price selling4').text();
var arr4 = split4.split('.');
if (arr4[2] < 2) {
    $("#price selling4").append("0")
}

我之前说过,我再说一遍:我不是最聪明的程序员。但从我的谷歌搜索来看,这似乎是我正在寻找的。但是,每当插入控制台时,它什么都不做。附加本身甚至不起作用。并且变量以未定义的形式返回。不太确定我自己还能用这个做什么。

4

5 回答 5

1

尝试:

$("#price selling4").text( ($("#price selling4").text()*1).toFixed(2) );

这使用定点表示法格式化数字 - 只需使用toFixed方法:

你的 idprice selling4看起来也很时髦 - 空格?

尽管最好在将返回的 ajax 数据添加到$("#price selling4")元素之前执行此操作。

于 2013-11-14T22:33:45.443 回答
1

您想获取该号码,并使其使用toFixed(2).

$('#price selling4').text(+($('#price selling4').text()).toFixed(2));

应该是你所需要的。

于 2013-11-14T22:33:51.413 回答
0

实际问题是您的逻辑,应该是arr4[1],并且您应该检查该值是否小于 10

var split4 =  $('#price').text();
var arr4 = split4.split('.');
console.log(arr4)
if (arr4.length == 2 && arr4[1] < 10) {
    $("#price").append("0")
}

http://jsfiddle.net/YGudN/

于 2013-11-14T22:33:43.507 回答
0

根据 HTML 4.01 规范,您的 div ID 不合法。您收到未定义的错误,因为没有为 var split4 分配任何内容。

尝试将您的 div 重命名为一个单词,就足够了。

于 2013-11-14T22:34:34.040 回答
0

我建议:

$("#price selling4").text(function(i,t){
    return parseFloat(t).toFixed(2);
})

顺便说一句,请注意,您似乎有一个空格id(无效),或者您正在寻找一个元素<selling4>(不存在)。如果selling4是类名,请在前面加上句点(与 CSS 一样),以给出.selling4.

参考:

于 2013-11-14T22:35:32.953 回答