digitalmars.D.bugs - [Issue 4122] New: More handy BigInt.toString()
- d-bugmail puremagic.com (43/43) Apr 24 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4122
- d-bugmail puremagic.com (7/7) Nov 19 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4122
- d-bugmail puremagic.com (13/13) Mar 18 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4122
http://d.puremagic.com/issues/show_bug.cgi?id=4122
Summary: More handy BigInt.toString()
Product: D
Version: future
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: Phobos
AssignedTo: nobody puremagic.com
ReportedBy: bearophile_hugs eml.cc
The toString() of BigInt is not handy to print bigintegers during debugging. I
have had to create a function like:
const(char)[] bigIntRepr(BigInt i) {
const(char)[] result;
i.toString((const(char)[] s){ result = s; }, "d");
return result;
}
Note that this doesn't work (Access violation, I don't know why):
const(char)[] bigIntRepr(BigInt i) {
const(char)[] result;
i.toString((const(char)[] s){ result = s; }, null);
return result;
}
My suggestion is to change the signature of BigInt.toString() from this:
void toString(void delegate(const (char)[]) sink, string formatString) const {
To something like this:
string toString(void delegate(string) sink=null, string formatString="d") const
{
And make it return a string filled with the decimal representation when sink is
null; and to return an empty string when sink!=null.
------------------------
Eventually the signature can even become:
string toString(void delegate(string) sink=null, string formatString="d",
string thousands="") const {
So if thousands="_" the number gets represented as:
"100_000_000_000"
But this is less important.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 24 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4122 See: http://www.dsource.org/projects/phobos/changeset/2183 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 19 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4122
Don <clugdbug yahoo.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |clugdbug yahoo.com.au
Resolution| |FIXED
Marking this as fixed, since you can just use writefln() in 2.051 and later.
(as added in the changeset).
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 18 2011









d-bugmail puremagic.com 