无法从数字中删除空白(PHP/JS)
Cant remove whitespace from number (PHP/JS)
我有一个Magento商店,我需要从数字中删除一个空格,这样我以后就可以用它来划分价格和其他东西。
代码就这么简单:
<script>
var newprice = <?php echo $newprice;?>
document.write(newprice);
</script>
如果价格低于1000(三个数字),则输出正确。如果价格是四个数字,它根本不会输出。虽然我可以从源代码中看到变量存储正确,例如:
var newprice = 1 089
我需要的是删除这些空白,但这似乎并没有那么容易。我试过:
var newprice = "<?php echo $newprice;?>" // with quotes
document.write(parseInt(newprice));
这只输出"1"。我也尝试过以下代码,但它输出1089(带空格):
document.write(newprice.replace(" ", ""));
有什么想法吗?
这很奇怪。我闻到老鼠的味道。我认为你看到的"空格"可能不是空格(ASCII字符代码32),而是字符集中可能没有的其他字符。您的站点中的所有内容都设置为UTF-8吗?
通常,我们希望在此处看到逗号或句点:"1,089"
或"1.089"
。千位分隔符是在PHP区域设置的。参见localeconv()的输出
我建议您研究一下$newprice
在您的Magento代码中的设置位置。我认为这是一根绳子。以对人类有意义的方式显示价格的字符串。
对于需要数字而不是字符串的小型计算机,$_product->getFinalPrice();
可能会更好,它会返回一个浮点值,或者一些将价格作为数字而不是人类可读字符串的函数。
如果不能做到这一点,基于我怀疑你的"空格"不是字符(32),强力preg_replace(anything that isn't a digit, period or comma)
可能比字符串替换更有效(尽管有多字节字符代码):
var newprice = <?php echo(preg_replace("#[^0-9'.',].#","",(string)$newprice).";"); ?>
试试这个
<script>
var newprice = <?php echo str_replace(' ', '', $newprice);?>
document.write(newprice);
</script>
可能是您从php得到的值,也可能是字符串
var newprice = <?php echo intval($newprice); ?>
相关文章:
- 在SVG地图上添加水的渐变,就像在谷歌地图(PHP/JS)中一样
- PHP/JS-EchoJs函数PHP curl发布后的通知
- FullCalendar backend PHP/JS to symfony 3
- 什么'是一个用于PHP+JS(extJS)开发的IDE,支持ctrl+click
- PHP/JS 文本差异
- 一个页面上有两个引导 php-js 表单
- Piwik:如何跨域(PHP/JS)跟踪访问者(用户ID)
- 使用php-js-msyql的实时更新消息系统
- 使用PHP/JS自动刷新Highcharts
- 如何为PHP/JS游戏制作倒计时/定时器
- node.js可以选择性地引入到用普通PHP/js/CSS/HTML构建的web应用程序中吗
- 用PHP/JS开发依赖表单字段的最佳方法
- 无法从数字中删除空白(PHP/JS)
- PHP/JS:动态Dropboxes和回显SELECTED值
- 更改数据库值AJAX PHP JS
- '套接字连接错误'在Aptana 3上调试PHP/JS时
- PHP/JS:用JS函数发布输入值,并通过PHP进行回显
- 在“onexit”或“onsubmit”之后,查询mysql并填充表单字段,而无需离开页面php js
- "Share-to-Facebook" html / php / js
- 从 PHP-JS 返回数组的计算的读取值