Here's one option of doing what @Ronald has proposed: specify a formatting vector, and then mapply
it to your data frame. Note that all columns are now characters.
sprintf_formats <- c(rep("%.2f", 3), rep("%.2e", 2), "%.2f")
Ind_B_sprintf <- Ind_B
Ind_B_sprintf[] <- mapply(sprintf, sprintf_formats, Ind_B)
Ind_B_sprintf
# logFC AveExpr t P.Value adj.P.Val B
#PCL1 -1.50 7.90 -7.78 2.03e-05 4.67e-02 3.11
#CYB5 -1.33 9.48 -7.29 3.46e-05 4.67e-02 2.66
#YPL272C -1.14 9.84 -6.75 6.43e-05 4.67e-02 2.12
str(Ind_B_sprintf)
#'data.frame': 3 obs. of 6 variables:
# $ logFC : chr "-1.50" "-1.33" "-1.14"
# $ AveExpr : chr "7.90" "9.48" "9.84"
# $ t : chr "-7.78" "-7.29" "-6.75"
# $ P.Value : chr "2.03e-05" "3.46e-05" "6.43e-05"
# $ adj.P.Val: chr "4.67e-02" "4.67e-02" "4.67e-02"
# $ B : chr "3.11" "2.66" "2.12"