Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中MySQL十进制数据类型的数学运算_Php_Mysql_Math_Decimal_Sqldatatypes - Fatal编程技术网

PHP中MySQL十进制数据类型的数学运算

PHP中MySQL十进制数据类型的数学运算,php,mysql,math,decimal,sqldatatypes,Php,Mysql,Math,Decimal,Sqldatatypes,我在MySQL表上存储货币值,并使用DECIMAL作为数据类型。我需要获取这些元素,对这些值进行一些基本的数学运算(加法、减法、求和等),向用户显示结果,并将它们放在一个单独的表中。我知道MySQL允许您在一个表中进行加法和求和,但是有什么方法可以作为PHP变量来实现吗?我知道在PHP中可以使用intval()将字符串数字转换为整数,但在转换过程中会丢失十进制值。类似的方法对我也适用,因为我总是可以将其转换回字符串,并将其输入到不同的MySQL表中。从MySQL中获取变量,然后您可以按照本手册页

我在MySQL表上存储货币值,并使用DECIMAL作为数据类型。我需要获取这些元素,对这些值进行一些基本的数学运算(加法、减法、求和等),向用户显示结果,并将它们放在一个单独的表中。我知道MySQL允许您在一个表中进行加法和求和,但是有什么方法可以作为PHP变量来实现吗?我知道在PHP中可以使用intval()将字符串数字转换为整数,但在转换过程中会丢失十进制值。类似的方法对我也适用,因为我总是可以将其转换回字符串,并将其输入到不同的MySQL表中。

从MySQL中获取变量,然后您可以按照本手册页面执行简单的算术运算:

比如说

$a = '0.002';
$b = '1.1';

echo $c = $a + $b; // Outputs 1.1002

您可以使用
将字符串转换为浮点数 floatval($stringVar)

PHP支持数学运算符

所以如果你有$a和$b

$a + $b; 
$a - $b; 
$a * $b; 
$a / $b; 
$a % $b; 
PHP为整数和您的问题提供了解决方案

PHP可以进行数学运算(
+
-
*
/
%
),而无需定义类型,也不会出现任何问题

$var1 = 1.56;
$var2 = 0.34;
$sum = $var1+$var2; // 1.90

那么即使变量是字符串,PHP也可以进行数学运算?MySQL的输出数据格式为$var1=“20.54”,而不是$var1=20.54。如果我理解正确,PHP将平等对待这两个变量,即使是数值($var1)=false。为什么不做一个测试来看看:)PHP并不真正关心变量类型是什么,它会将它相乘,就像Perl一样。PHP的类型非常弱,实际上我在MySQL表的列数组中使用SUM()函数对其进行了测试,但由于它是字符串,所以出现了一个错误。我必须使用$SUM=MySqLyFutChyAsOxc(MySQL)查询(“选择和(ccyAMNT)作为C.CySand从..$TabLeNAMEY))以获得列的实际总和。我想我习惯于C++中的编码,其中变量声明非常重要。