我正在使用一个非常基本的spark代码,以便将输入值“qty”转换为一个输出变量,该变量将被插入到rdbms中,但是对于输入值“0”,spark cast(“decimal(32,9)”)正在将其转换为0e-9。这是我的密码:
dfFinal = dfInput.withColumn("QtyOut",dfInput.col("Qty").cast("decimal(32,9)");
dfFinal.show();
当数量值为“0”时,输出为“0e-9”。然后我尝试使用“format\u number”解决了这个问题,但随后将qtyut转换为字符串,并为大于999的数字添加“,”。这是密码
dfFinal = dfInput.withColumn("NewQtyOut",format_number(dfInput.col("curr_notl_amt"),9));
1条答案
按热度按时间nzk0hqpo1#
两者
0
以及0E-9
都是一样的,所以我不知道你为什么要把它改成0.000000000
.这是一个测试-
输出-
请注意
isTrue
列。编辑-1(基于评论)
转换
decimal
从科学记数法scale
我们想要-输出-