[英]How can i parseFloat a php var inside 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()
变量乘以$('#tarif_membre').val()
它仍将结果显示为float:12.00(因为它是从php回显的),但是如果我乘以$('#tarif_membre').val()
结果将显示12,为什么? 以及为什么replace方法不起作用(我需要显示逗号分隔的值)
在Javascript中,整数和浮点数没有区别。 var x = 12.00
,转换回字符串时,仅显示“ 12”。
如果要显示格式化的数字,则必须将其保留为字符串( "12.00"
); 或者您需要一些行为类似于printf
代码(没有Javascript;但是有一些实现它的Javascript库,例如在这里 ),可以使用任意多的小数来再次格式化它。
我认为这是您要尝试执行的操作:
var sum = 12.00 * parseFloat($('#tarif_membre').val());
total_total= sum.toFixed(2).replace('.',',');
$('#total_total').val(total_total);
您可以在这里尝试 。
您应该不要使用引号,因为它是一个数字,然后parseFloat()
#tarif_membre
.val()
,因为它将是一个字符串,然后它们将键值保持在主要的小数位数,这里在该float上调用.toFixed()
,这将得到字符串"12.00"
。 您可以将它们替换为.
,
(我猜是国际格式吗?)然后将结果粘贴到#total_total
,尽管我不确定这一点。
对于另一个问题,为什么.replace()
不起作用? 这是因为在您的代码中它是一个浮点数,而不是字符串,并且只有字符串才具有replace方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.