jQuery,将分隔符更改为点并将两个选定数字相除

jQuery, change separator to dot and divide two selected numbers

var result = parseFloat($('.lot2').text()) / parseFloat($('span.Price').text());
$('.result').text(result);
});

如何将选定值从逗号分隔值转换为点分隔值?有这个函数str.replace,但是不知道怎么放到函数里

试试下面的代码片段:

var result = parseFloat($('.lot2').text()) / parseFloat($('span.Price').text());
$('.result').text(result.toString().replace('.', ','));

fiddle 可以在这里找到:http://jsfiddle.net/moon9nve/

有关替换功能的更多信息,请点击此处:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/replace

How can I convert selected values from comma separated values to dot separated values?

据此,我认为您从 $('.lot2').text()$('span.Price').text() 获得的值将使用 , 作为小数点,而不是 .(就像某些地区的情况)。我假设您可能也有 . 作为千位分隔符。

如果这就是你的意思,那么你需要做 , => . 转换,去掉 . 千位分隔符,然后解析结果,然后做 . => , 对结果值的转换(并可能添加 . 千位分隔符)。为了清楚起见,这里将每个步骤分开:

// Get lot 2
var lot2 = $('.lot2').text();
// Remove all `.` thousands separators, replace the one `,` decimal separator with `.`
lot2 = lot2.replace(/\./g, '').replace(",", ".");
// Same with price
var price = $('span.Price').text().replace(/\./g, '').replace(",", ".");
// Parse them and get the result
var result = parseFloat(lot2) / parseFloat(price);
// Replace the `.` decimal separator with `,`
result = String(result).replace(".", ",");
// Show result
$('.result').text(result);

如果您想在其中添加 . 千位分隔符,this question and its answers(以及 SO 上的其他几个)展示了如何做到这一点,只需使用 . 而不是 ,.

由于这可能会在您的代码中重复出现,您可能希望将这两个函数(locale form => JavaScript form,JavaScript form => locale form)放入函数中可以重复使用。