选择具有给定精度的FLOAT

Maw*_*awg 8 mysql floating-point-precision

我想将我的值存储为FLOATS,但是在检索它们时,用户可以指定(并在运行时更改)他希望在小数点后看到多少位数.

我可以通过SELECT某种方式传递它,还是我必须在我的应用程序中执行此操作?

ppe*_*rka 12

是的,只需指定第二个参数即可 ROUND()

SELECT ROUND(23.298, <precision>);
Run Code Online (Sandbox Code Playgroud)

这样,您可以指定要返回的位数.(你甚至可以有负值,在这种情况下,输入被舍入到10 (-precision)).

或者你可以使用CASTDECIMAL:

 CAST(2.5 AS DECIMAL(20,2))
Run Code Online (Sandbox Code Playgroud)

(注意:后者也适用于文本输入,例如CAST('2.5' AS DECIMAL(20,2)),但在这种情况下,它与FLOAT输入有关)


小智 5

使用ROUND(), CEIL()orFLOOR()执行相同操作并获取从用户传递的第二个参数的值作为输入。