Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 请将双精度转换为字符_String_Csv_Sparklyr - Fatal编程技术网

String 请将双精度转换为字符

String 请将双精度转换为字符,string,csv,sparklyr,String,Csv,Sparklyr,在sparlyr中将替身转换为角色时,我遇到了非常奇怪的行为。 周期似乎是随机添加的。 这里是一个可复制的示例: my_test_df <- data.frame(char_val = 004545, char_val2 = 100286908074) my_test_spark <- my_test_df %>% copy_to(sc, ., 'my_test_df_spark', overwrite = TRUE) my_test_spark ## Source:

在sparlyr中将替身转换为角色时,我遇到了非常奇怪的行为。 周期似乎是随机添加的。 这里是一个可复制的示例:

my_test_df <- data.frame(char_val = 004545, char_val2 = 100286908074)
my_test_spark <-  my_test_df %>%  copy_to(sc, ., 'my_test_df_spark', overwrite = TRUE)

my_test_spark

## Source: spark<my_test_df_spark> [?? x 2]
##  char_val    char_val2
##     <dbl>        <dbl>
##     4545 100286908074

my_test_spark %>%  
  mutate(char_val = lpad(as.character(char_val), 6, "0"),
         char_val2 = lpad(as.character(char_val2), 13, "0")) %>% 
  head 

## Source: spark<?> [?? x 2]
##  char_val char_val2    
##  <chr>    <chr>        
## 4545.0   1.00286908074
my_test_df%
mutate(char_val=lpad(as.character(char_val),6,“0”),
char_val2=lpad(如.character(char_val2),13,“0”))%>%
头
##来源:火花[?×2]
##char_val char_val2
##              
## 4545.0   1.00286908074
我真的不明白为什么在最后的字符串中有随机的句点。有什么办法可以避免吗?

因为字符(character_val2)
是用科学符号表示的值
lpad
正在截断科学符号

my_test_spark %>%  
  mutate(char_val3 = as.character(char_val2))
#> # Source: spark<?> [?? x 3]
#>   char_val    char_val2 char_val3       
#>      <dbl>        <dbl> <chr>           
#> 1     4545 100286908074 1.00286908074E11
请注意,
char\u val2
需要是64位整数。

as.character(char\u val2)
以科学记数法获取值
lpad
正在截断科学符号

my_test_spark %>%  
  mutate(char_val3 = as.character(char_val2))
#> # Source: spark<?> [?? x 3]
#>   char_val    char_val2 char_val3       
#>      <dbl>        <dbl> <chr>           
#> 1     4545 100286908074 1.00286908074E11
请注意,
char_val2
需要是64位整数