BigInt.toString
H. S. Teoh
hsteoh at qfbox.info
Thu Aug 4 01:05:31 UTC 2022
On Thu, Aug 04, 2022 at 12:45:44AM +0000, Ruby The Roobster via Digitalmars-d-learn wrote:
> How exactly can one store the string representation of a BigInt? The
> seemingly obvious
>
> ```d
> //...
> dchar[] ret; //dchar[] is necessary for my project
> //Assume that val is a BigInt with a value set earlier:
> val.toString(ret, "%d");
> //...
> ```
>
> doesn't work. I am using x86_64 windows with -m64, and v2.100.1(LDC2
> 1.30.0).
Don't call .toString directly. Instead, use std.format.format:
```d
import std;
void main() {
auto x = BigInt("123123123123123123123123123123123123");
string s = format("%s", x); // this gives you the string representation
writeln(s); // prints "123123123123123123123123123123123123"
// If you need to convert to dchar[]:
dstring ds = s.to!(dchar[]);
// Or if you want a direct formatting into dchar[] without going
// through a string intermediate:
auto app = appender!(dchar[]);
app.formattedWrite("%s", x");
dchar[] dcharArray = app.data; // now you have your dchar[]
}
```
Hope this is clear.
T
--
Which is worse: ignorance or apathy? Who knows? Who cares? -- Erich Schubert
More information about the Digitalmars-d-learn
mailing list