我在用逗号存储整数数据时遇到一些困难,我有价格,大约是4,600,所以我需要用逗号存储它,但是当我尝试以整数形式发送它时,它会在第一个数字后切掉。我试图更改列类型。 packages.config
或BigInt
,但不起作用。有任何可行的方法吗?
还尝试将逗号更改为点“。”但是有了这个,mysql最后删除了“ 0” ...我不知道为什么...
Double
答案 0 :(得分:1)
如果您希望能够使用带有这些数字的SQL查询进行计算,则需要使用DECIMAL
类型或整数类型存储价格并将数字乘以例如1000
,然后保存。
数字的双精度或任何其他浮点表示形式不适用于价格计算/存储。
如果使用DECIMAL
,则需要将数字从本地格式4,5000
转换为数据库将其存储在数据库中时期望的格式,并在检索时将其转换回本地格式您的数据。
如果将其存储为字符串,则可以保留本地格式,但这是最糟糕的解决方案,永远不要使用。
答案 1 :(得分:0)
由于您使用逗号,因此MySQL最有可能将数字解释为两个字段,以逗号分隔。例如:
Prices,Unspecified
------,-----------
4 ,500
2 ,300
1 ,500
在有问题的数字中:如果逗号是千位分隔符,请在尝试存储数字之前将其删除(通过字符串替换)。如果它是小数点,则将其替换为句点(通过字符串替换),并将其存储为DOUBLE
(或DECIMAL
,如果您需要大数字的高精度)。
如果要用逗号显示数字,请从以下位置检索值后,使用字符串格式(String.format()
或sprintf()
以外的数字格式功能)数据库。
答案 2 :(得分:0)
您不能执行此操作,因为4,500
绝对不是整数。而是一个字符串。您应该将列类型更改为varchar(10)
,并可能在检索时进行转换(剥离,
,然后转换/转换为Int
)。