避免浮点数据中的指数
Avoid exponent in float data
目前,abc
是浮点数据类型。我想避免浮点数据中的指数。我使用以下内容来保留没有指数的数据,但它将数据类型转换为字符串。我想将其保留为浮动。
你能帮忙吗?
SELECT FORMAT('%.2f', abc) AS deduction FROM table
您可以对 FORMAT 应用转换操作,以便将最终结果转换为浮点数:
SELECT CAST(FORMAT('%.2f', abc) AS float64) AS deduction FROM table
更多关于铸造规则的信息,您可以访问documentation
根据您的要求,您可以 SAFE_CAST 到 NUMERIC as numeric values can contain fractional components with exact precise values but FLOAT64 是一种近似数值数据类型,它给出带有小数或小数部分的近似值。
Float and float-related SQL numeric data types hold approximate numeric values. They consist of a significant (a signed numeric value) and an exponent (a signed integer that specifies the magnitude of the significant).
由于 NUMERIC 值是精确值,您可以尝试使用以下代码将浮点值转换为数字以避免指数。如果你有更大的数字,那么你可以使用 BIGNUMERIC 而不是 NUMERIC。
SELECT SAFE_CAST(FORMAT('%.2f', abc) AS NUMERIC) AS deduction FROM table
目前,abc
是浮点数据类型。我想避免浮点数据中的指数。我使用以下内容来保留没有指数的数据,但它将数据类型转换为字符串。我想将其保留为浮动。
你能帮忙吗?
SELECT FORMAT('%.2f', abc) AS deduction FROM table
您可以对 FORMAT 应用转换操作,以便将最终结果转换为浮点数:
SELECT CAST(FORMAT('%.2f', abc) AS float64) AS deduction FROM table
更多关于铸造规则的信息,您可以访问documentation
根据您的要求,您可以 SAFE_CAST 到 NUMERIC as numeric values can contain fractional components with exact precise values but FLOAT64 是一种近似数值数据类型,它给出带有小数或小数部分的近似值。
Float and float-related SQL numeric data types hold approximate numeric values. They consist of a significant (a signed numeric value) and an exponent (a signed integer that specifies the magnitude of the significant).
由于 NUMERIC 值是精确值,您可以尝试使用以下代码将浮点值转换为数字以避免指数。如果你有更大的数字,那么你可以使用 BIGNUMERIC 而不是 NUMERIC。
SELECT SAFE_CAST(FORMAT('%.2f', abc) AS NUMERIC) AS deduction FROM table