当前位置: 首页 > 面试题库 >

在MySQL中将浮点数转换为十进制

苏坚成
2023-03-14
问题内容

我不太了解cast功能以及decimal此处。decimal(7,2)实际上是什么意思?The first part and the second part arg of the function.

为什么在这里我需要将cast/convert浮点数转换为小数?

mysql> SELECT productCode, MAX(price), MIN(price),
              CAST(AVG(price) AS DECIMAL(7,2)) AS `Average`,
              CAST(STD(price) AS DECIMAL(7,2)) AS `Std Dev`,
              SUM(quantity)
       FROM products
       GROUP BY productCode;
+-------------+------------+------------+---------+---------+---------------+
| productCode | MAX(price) | MIN(price) | Average | Std Dev | SUM(quantity) |
+-------------+------------+------------+---------+---------+---------------+
| PEC         |       0.49 |       0.48 |    0.49 |    0.01 |         18000 |
| PEN         |       1.25 |       1.23 |    1.24 |    0.01 |         15000 |
+-------------+------------+------------+---------+---------+---------------+

下面是相同的sql小提琴吗?

http://sqlfiddle.com/#!2/1ed51b/1/0

我的问题再次重复:

  1. decimal(7,2)实际上是什么意思?The first part and the second part arg of the function.
  2. 为什么在这里我需要将cast/convert浮点数转换为小数?

问题答案:

DECIMAL(7,2)表示具有固定小数点的数字,总共有7位数字,其中2位在小数点右边。(因此,左5个,右2个。)

你并不 需要
,除非你想decimal类型(通常,固定点),而不是FLOAT类型的行为(与数字的小数点右边相对不可预知号码有用的近似值)的行为来投。例如,对于 带有
强制转换的产品代码“ PEC”,您的平均值为33333.65; 没有 演员表,则是33333.653333。

如果您经常使用 所有 数字,则可能应该增加转换中的数字总数。说,像DECIMAL (14,2)



 类似资料:
  • 问题内容: 如何在Python中将以下十六进制字符串转换为float(单精度32位)? 问题答案: 在 Python 3中 : 在 Python 2中 :

  • 我正在尝试将十六进制数据添加到十六进制字符串中,我需要使用它们的IEEE表示将浮点数添加到该字符串中。对于整数,这很简单: 其中value是数字的VARCHAR,params是包含十六进制字符串的VARCHAR。这个技巧适用于整数,但对于十进制,它会截断十进制部分,并将整数部分转换为十六进制整数。如果十进制的大小是固定的(java float或double),如何将值转换为十进制数的IEEE浮点表

  • 问题内容: 我必须将,以s 表示(例如)转换为浮点值( IEEE-754 转换)。我没有使用strconv.ParseFloat函数做到这一点。还有什么我要用的吗?到目前为止我找不到。我也尝试先将其转换为整数,然后转换为浮点数,但结果是错误的。 我最后一次尝试的代码: 问题答案: 首先,需要说明输入的位长。由于十六进制表示形式有4个字节(8个十六进制数字),因此很可能是a (需要询问者澄清)。 您

  • 问题内容: Python Decimal不支持从float构造。它期望您必须先将float转换为字符串。 这非常不方便,因为float的标准字符串格式器要求您指定小数位数而不是有效位数。因此,如果您的数字最多可能有15个小数位,则需要将其格式设置为Decimal(“”%。15f“%my_float),如果您之前还有任何有效数字的话,也会在第15个小数位出现垃圾十进制。 有人可以建议一种在用户输入时

  • 二、浮点数转换成十进制数的步骤 该步骤与前面“十进制数转换成浮点数”的步骤是互逆的,其具体步骤如下: 1、分割数字的符号、阶码和有效数字; 2、将偏移阶码减去偏移,得到真正的阶码; 3、把数字写成规格化的二进制数形式; 4、把规格化的二进制数改变成非规格化的二进制数; 5、把非规格化的二进制数转换成十进制数。 例11.2 把协处理器中的浮点数1100000111001001000000000000

  • 关于将带浮点数的字符串转换为十进制浮点数的方法有很多讨论,但我没有找到用C语言解决问题的方法(python、C#等) 首先,我们输入初始数的数字系统,并将浮点数输入字符串变量。 然后将输入分成右(double)部分和左(int)部分,然后为这两部分调用函数void floatToDec(字符串输入,int sys,char标志)(标志“l”表示左部分标志“r”meens right part)。为