我如何在javascript中解析一个php var

时间:2010-08-13 09:57:10

标签: php javascript

我需要parseFloat然后用逗号替换点:

sum="<?php echo substr($_tarif_membre,0,-2).'.'.substr($_tarif_membre,-2,2) ?>" *  $('#tarif_membre').val()
total_total= sum.replace('.',',')
$('#total_total').val(sum)

如果我不将php回显变量乘以$('#tarif_membre').val(),它仍会将结果显示为浮点数:12.00(因为它是从php回显的)但是如果我乘以$('#tarif_membre').val(),结果将显示12,为什么?为什么替换方法不起作用(我需要显示逗号分隔值)

2 个答案:

答案 0 :(得分:0)

在Javascript中,整数和浮点数没有区别。当var x = 12.00转换回字符串时,只显示“12”。

如果要显示格式化的数字,则必须将其保留为字符串("12.00");或者你需要一些类似于printf的行为的代码(Javascript没有;但是有可用的Javascript库实现它,例如here)再次使用与你一样多的小数来格式化它等。

答案 1 :(得分:0)

认为这就是你要做的事情:

var sum = 12.00 * parseFloat($('#tarif_membre').val());
total_total= sum.toFixed(2).replace('.',',');
$('#total_total').val(total_total);

You can try it out here

你应该不使用引号,因为它是一个数字,然后是parseFloat() #tarif_membre .val(),因为那将是一个字符串,然后它们键入主要小数位,这里是在那个浮点上调用.toFixed(),这将得到"12.00",一个字符串。您可以将.替换为,(对于我猜测的国际格式吗?)然后我将结果粘贴到#total_total中,尽管这篇文章我不确定

对于另一个问题,为什么.replace()不起作用?这是因为在你的代码中它是一个浮点数,而不是一个字符串,只有字符串有替换方法。