Substr以逗号

时间:2017-06-12 01:42:38

标签: php mysql comma substr

我输入了#34;重量:123,4千克" 我想将号码保存到数据库。所以我有一个像这样的代码子

 $_POST['product_weight'] = 
substr($_POST['product_weight'], 8, 3);
str_replace(',','',$_POST['product_weight']);  

但现在问题是,输出总是" 123.00"。这是从substr或数据类型的错误?

我的表格

<input type="text" class='numbering' name="product_weight" value="<?=(!empty($form['product_weight']))?number_format($form['product_weight'],2):''?>">

输出

<td><?=(!empty($each->product_weight))?number_format($each->product_weight,2).' gr':'-';?></td>

3 个答案:

答案 0 :(得分:0)

此代码substr($_POST['product_weight'], 8, 3)表示&#34;从$ _POST值&#34;中的索引 8 开始返回 3 个字符。 - 所以你捕获的只是 123 ,而不是值的小数部分。

答案 1 :(得分:0)

试试这个,如果逗号是小数点,请参阅此Converting a number with comma as decimal point to float

逗号作为小数点live demo

<?php
$string = 'Weight: 123,4 kg';
echo number_format(floatval(str_replace(',', '.', substr($string, 8))),2);

逗号作为分隔符,live demo

<?php
$string = 'Weight: 123,4 kg';
echo number_format(floatval(str_replace(',', '', substr($string, 8))),2);

答案 2 :(得分:0)

$string = 'Weight: 123,4 kg';
$arr_string = explode(" ", $string);
echo $arr_string['1'];   //Output : 123,4
echo str_replace(",", ".", $arr_string['1']);  //Output : 123.4