"适当的"转换方式
string(5) "-2,23"
我可以在DECIMAL(5,2)
Mysql列中插入一个值吗?
我尝试过使用float,floatval等等......它们似乎都没有保留小数。
是因为逗号吗?我可以{&1 34}使用"。"如果需要但不愿意,我可能会遇到像str_replace
答案 0 :(得分:1)
是的,逗号错了。
你可以像这样插入
CREATE TABLE `testdec` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`d` decimal(5,2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `testdec` (`id`, `d`)
VALUES
(1, -2.23);
或将逗号更改为点
INSERT INTO `testdec` (`id`, `d`)
VALUES
(2, REPLACE("-2,23",",","."));
但要小心。这只适用于字符串中没有其他点,例如" 1.000,12"。
如果你的字符串中有点可以这样做:首先删除点,然后将逗号更改为点
SELECT REPLACE( REPLACE("-456.123,23",".","") ,",",".") ;