Scala 星星之火
我很困惑round和bround是如何在spark sql中工作的Scala 星星之火,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,我很困惑round和bround是如何在spark sql中工作的 scala> spark.sql("select round(1.5, 0), bround(1.5, 0)").show() +-------------+--------------+ |round(1.5, 0)|bround(1.5, 0)| +-------------+--------------+ | 2| 2| +-------------+----------
scala> spark.sql("select round(1.5, 0), bround(1.5, 0)").show()
+-------------+--------------+
|round(1.5, 0)|bround(1.5, 0)|
+-------------+--------------+
| 2| 2|
+-------------+--------------+
scala> spark.sql("select round(2.5, 0), bround(2.5, 0)").show()
+-------------+--------------+
|round(2.5, 0)|bround(2.5, 0)|
+-------------+--------------+
| 3| 2|
+-------------+--------------+
scala> spark.sql("select round(3.5, 0), bround(3.5, 0)").show()
+-------------+--------------+
|round(3.5, 0)|bround(3.5, 0)|
+-------------+--------------+
| 4| 4|
+-------------+--------------+
bround始终四舍五入到小数点后最接近的偶数整数值
broundexpr,d-返回expr,使用半偶数舍入模式舍入到d位小数
四舍五入始终四舍五入到下一个值(偶数或奇数)
roundexpr,d-返回使用半向上舍入模式舍入到d位小数的expr。b始终舍入到小数点到最接近的偶数整数值
broundexpr,d-返回expr,使用半偶数舍入模式舍入到d位小数
四舍五入始终四舍五入到下一个值(偶数或奇数)
roundexpr,d-返回使用半向上舍入模式将expr舍入到d位小数。这是高斯舍入。Aka bround将四舍五入到最近的偶数。委员会将进一步讨论这一概念的含义 这是高斯舍入。Aka bround将四舍五入到最近的偶数。委员会将进一步讨论这一概念的含义 圆形的 舍入模式向{@literal nearest neighbor}舍入 除非两个邻居是等距的,在这种情况下,四舍五入。 行为与{@code RoundingMode.UP}相同,如果 分数>0.5;否则,表现为 {@code RoundingMode.DOWN}。请注意,这是四舍五入 通常在学校教授的模式 示例:
input=5.5 output=6
input=2.5 output=3
input=1.6 output=2
input=1.1 output=1
input=1.0 output=1
input=-1.0 output=-1
input=-1.1 output=-1
input=-1.6 output=-2
input=-2.5 output=-3
input=-5.5 output=-6
布朗德
舍入模式向{@literal nearest neighbor}舍入
除非两个邻居的距离相等,在这种情况下,是圆的
甚至是邻居。表现为
{@code RoundingMode.HALF_UP}如果
丢弃分数是奇数;表现为
{@code RoundingMode.HALF_DOWN}如果是偶数。请注意
是一种舍入模式,在统计上使累积误差最小化
在一系列计算中重复应用时出错。
它有时被称为{@literal Banker's rounding,},是
主要用于美国。此舍入模式类似于
用于{@code float}和{@code double}的舍入策略
Java中的算术
例子
input=5.5 output=6
input=2.5 output=2
input=1.6 output=2
input=1.1 output=1
input=1.0 output=1
input=-1.0 output=-1
input=-1.1 output=-1
input=-1.6 output=-2
input=-2.5 output=-2
input=-5.5 output=-6
圆形的
舍入模式向{@literal nearest neighbor}舍入
除非两个邻居是等距的,在这种情况下,四舍五入。
行为与{@code RoundingMode.UP}相同,如果
分数>0.5;否则,表现为
{@code RoundingMode.DOWN}。请注意,这是四舍五入
通常在学校教授的模式
示例:
input=5.5 output=6
input=2.5 output=3
input=1.6 output=2
input=1.1 output=1
input=1.0 output=1
input=-1.0 output=-1
input=-1.1 output=-1
input=-1.6 output=-2
input=-2.5 output=-3
input=-5.5 output=-6
布朗德
舍入模式向{@literal nearest neighbor}舍入
除非两个邻居的距离相等,在这种情况下,是圆的
甚至是邻居。表现为
{@code RoundingMode.HALF_UP}如果
丢弃分数是奇数;表现为
{@code RoundingMode.HALF_DOWN}如果是偶数。请注意
是一种舍入模式,在统计上使累积误差最小化
在一系列计算中重复应用时出错。
它有时被称为{@literal Banker's rounding,},是
主要用于美国。此舍入模式类似于
用于{@code float}和{@code double}的舍入策略
Java中的算术
例子
input=5.5 output=6
input=2.5 output=2
input=1.6 output=2
input=1.1 output=1
input=1.0 output=1
input=-1.0 output=-1
input=-1.1 output=-1
input=-1.6 output=-2
input=-2.5 output=-2
input=-5.5 output=-6
round使用半向上,而bround使用半偶数银行家四舍五入[]。round使用半向上,而bround使用半偶数银行家四舍五入[]