Php 如何在mysql中将字符串保存为十进制?

Php 如何在mysql中将字符串保存为十进制?,php,mysql,Php,Mysql,我有一个名为“Prices”的表,其中一个字段名为“value”,设置为decimal。 我希望能够插入一个字符串,如“3.5$”,mysql将插入数字“3.5”。 到目前为止没有成功。使用 示例 货币、日期格式等属于该视图。如果你传递简单的数字,你的生活会轻松得多:)在发送到MySQL之前,只需做一个floatval($theNumber)。然后我会删除美元。我以为mysql有办法。谢谢各位。有没有更好的办法来减少美元符号?我现在正在使用str_替换和感觉dirty@user3800799-这

我有一个名为“Prices”的表,其中一个字段名为“value”,设置为decimal。 我希望能够插入一个字符串,如“3.5$”,mysql将插入数字“3.5”。 到目前为止没有成功。

使用

示例


货币、日期格式等属于该视图。如果你传递简单的数字,你的生活会轻松得多:)在发送到MySQL之前,只需做一个
floatval($theNumber)
。然后我会删除美元。我以为mysql有办法。谢谢各位。有没有更好的办法来减少美元符号?我现在正在使用str_替换和感觉dirty@user3800799-这几乎是正确的答案。因为在你的评论中,你说“我认为mysql有办法。”。我相信OP想要插入however@user3800799勾选编辑01@user3800799乐意帮忙:)
$NumberWithString = 3.5$;
floatval($NumberWithString);
<?php
    $var = '122.34343The';
    $float_value_of_var = floatval($var);
    echo $float_value_of_var; // 122.34343
?>
$newNumber = preg_replace('/&#36;/', '', $NumberWithString);
update yourtable 
set yourdecimal = cast('3.7$' as decimal(10,2)) 
where id = 1