Considering we have an array:
a = {2/3, 4/5, 9/7, 3/7, 1/7, 1/9};
How can I get this to be:
"2/3 4/5 9/7 3/7 1/7 1/9"
Thanks!
Considering we have an array:
a = {2/3, 4/5, 9/7, 3/7, 1/7, 1/9};
How can I get this to be:
"2/3 4/5 9/7 3/7 1/7 1/9"
Thanks!
I would love this to be uniform for both integer and rational numbers
a2 = {2/3, 4/5, 9/7, 3/7, 1.5, 3, 1/9};
StringTrim@StringJoin[" " <> ToString[#, InputForm] & /@ a2]
(* 2/3 4/5 9/7 3/7 1.5 3 1/9 *)
Row[ToString[#, InputForm] & /@ a2, " "]
(* 2/3 4/5 9/7 3/7 1.5 3 1/9 *)
StringReplace[ToString[a, InputForm], {"{" | "}" -> "", "," -> " "}]
(* 2/3 4/5 9/7 3/7 1.5 3 1/9 *)
StringJoin[Riffle[ToString[#, InputForm] & /@ a2, " "]]
(* 2/3 4/5 9/7 3/7 1.5 3 1/9 *)
Or
StringTake[ToString[a, FormatType -> InputForm], {2, -2}]
The inelegant use of StringTake strips off the leading and trailing brackets.
StringDelete[..., "{" | "}" | ","] instead of StringTake.
$\endgroup$
Terse:
a = {1, 17, 2/3, 4/5, 9/7, 3/7, 1/7, 1/9};
ToString @ Row[InputForm /@ a, " "]
"1 17 2/3 4/5 9/7 3/7 1/7 1/9"
Yet another possibility:
a = {2/3, 4/5, 9/7, 3/7, 1/7, 1/9, 5, 6, 99/10};
ExportString[{a}, "Table", "FieldSeparators" -> " "]
"2/3 4/5 9/7 3/7 1/7 1/9 5 6 99/10"
a = {2/3, 4/5, 9/7, 3/7, 1/7, 1/9};
StringJoin@Cases[a, Rational[x_, y_] :>
" "<>ToString[x] <> "/" <> ToString[y]]

Reply to comment "I would love this to be uniform for both integer and rational numbers":
a = {2/3, 4/5, 9/7, 3/7, 1/7, 1/9, 5, 6, 99/10};
f[Rational[x_, y_]] := " " <> ToString[x] <> "/" <> ToString[y];
f[x_] := " " <> ToString[x];
StringJoin[f[#] & /@ a]
