将逗号更改为点,在php中使用小数

Kar*_*rem 13 php

所以我有一些来自表格的字段.在这里你可以输入0.3,它会将0.3插入到数据库中.你输入0,3只会插入"0".

$product['protein']; // 0,3
Run Code Online (Sandbox Code Playgroud)

那么对于上面这我怎么能用点替换逗号?

gen*_*sis 39

试试PHP的函数str_replace():

$product['protein'] = str_replace(',', '.', $product['protein']);
Run Code Online (Sandbox Code Playgroud)

哪个应该是合适的.

您可以考虑使用number_format():

number_format($value, $numberOfDecimals, $charaForDecimalPoint, $charForThousandsSeparator)
Run Code Online (Sandbox Code Playgroud)

但在你的情况下它不适用,因为你的起始值("0,3")不会被识别为数字.实际上,数值的小数点必须是点(".").

仅当起始值为真数时才使用number_format.

  • 当人/机器开始输入带有千位分隔符的数字(例如 1.337,42)时,这是一个问题 - 我实际上遇到的问题是 php 中的结果值为 1.333742 - 1000 倍错误。 (2认同)

Bra*_*ris 5

$product['protein'] = str_replace(",",".",$product['protein'])
Run Code Online (Sandbox Code Playgroud)

有关str_replace函数的更多信息,请访问:http : //uk.php.net/str_replace