相关疑难解决方法(0)

在mysql中插入非英语小数点

如何让mysql理解整数/浮点字段中的非英语小数点?

setLocale(LC_ALL, 'da_DK.ISO-8859-1');
Run Code Online (Sandbox Code Playgroud)

例如:

0,25 will be inserted as 0
0.25 will be inserted as 0.25
Run Code Online (Sandbox Code Playgroud)

php mysql

6
推荐指数
1
解决办法
1万
查看次数

在SELECT上用逗号替换点

我想在我的查询字符串中替换SELECT数据库中的字段中的任何"点"字符.

我需要修改大量的查询,我愿意这里有一个适用于所有列的函数SELECT.我的意思是这样的SELECT DOT_TO_COMMA(*) FROM...

现在我拥有的东西:

SELECT price, lastprice FROM products

OUTPUT: 22.10, 5.24

EXPECTATION: 22,10, 5,25

mysql

5
推荐指数
1
解决办法
2万
查看次数

使用十进制值加载数据本地infile

我为客户创建了csv文件的导入程序,我遇到的问题是我在文件中得到了十进制值的截断值,例如:

in .csv file price is 12,23
and in database it is saved as 12.
Run Code Online (Sandbox Code Playgroud)

我检查了字段,它们被设置为十进制(10,2)所以这不应该是平常的.我加载文件的代码是:

LOAD DATA LOCAL INFILE "U:/v7/root/file/docimport/3/87/article.csv" 
INTO TABLE im_artikel 
CHARACTER SET latin1 FIELDS TERMINATED BY ";" IGNORE 1 LINES 
(article,price,grossprice);
show WARNINGS;
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

1265 Data truncated for column 'price' at row 1
1265 Data truncated for column 'grossprice' at row 1
Run Code Online (Sandbox Code Playgroud)

.Csv文件如下所示:

Shoes;40,00;21,46
Run Code Online (Sandbox Code Playgroud)

我可以将所有字段更改为varchar而不是没有问题,但我认为这不是解决方案.

mysql csv

3
推荐指数
1
解决办法
4937
查看次数

PHP number_format返回1.00

我在MySQL中存储的数字为总数(十进制16,2)1423.28

在进行一些计算后,我从PHP中显示它:

function calculate_balance($total){

 //get total paid from another function
 $total_paid = ...

 if ($total_paid == 0){
     return $total;
 }else{
     return $total-$total_paid
 }

} 

 $balance = calculate_balance($total);
 echo number_format($balance, 2); //returns 1.00
Run Code Online (Sandbox Code Playgroud)

我试过了

  number_format((float)$balance, 2);
  number_format(floatval($balance), 2); 
Run Code Online (Sandbox Code Playgroud)

UPDATE

var_dump($balance)

我得到了以下输出.

string(8) "1,423.28" float(152) string(6) "252.00" string(6) "247.50" string(6) "247.50" string(6) "247.50" string(6) "549.90" string(6) "495.00" float(0) string(6) "284.76" float(265)

它的工作正常,没有number_format()1000以下的价值.例如:如果余额等于252.00

 echo $balance;
Run Code Online (Sandbox Code Playgroud)

产量

252.00

php mysql numerical

1
推荐指数
1
解决办法
2019
查看次数

标签 统计

mysql ×4

php ×2

csv ×1

numerical ×1